1 原始方式

1), 路由, vue-router 2

简单安装方式, 但先讲原理

cnpm install --save vue-router

2), 引用

在main.js中

// 引入 router
import VueRouter from "vue-router"
Vue.use(VueRouter)

3), 注入:

import VueRouter from "vue-router"

import HelloWorld from './components/HelloWorld'

Vue.use(VueRouter)

var router = new VueRouter({
routes: [{
path: "/hello",
component: HelloWorld
}]
})

在 vue 中注入:

new Vue({
el: '#app',
components: {App},
template: '<App/>',
router
})

4), 视图加载位置

在app.vue中

<template>
<div id="app">
<img src="./assets/logo.png">
<HelloWorld/> <router-view></router-view> </div>
</template>

通过  http://localhost:8080/#/hello 的方式访问

2,  但这样使用太乱了, 所以将路由单独提出来:

新建 router 目录, 在下面新建 index.js 文件

import Vue from 'vue'

// 引入 router
import VueRouter from "vue-router" import HelloWorld from '../components/HelloWorld'
import HellowIwen from '../components/HellowIwen' Vue.use(VueRouter) export default new VueRouter({
routes: [{
path: "/hello",
component: HelloWorld
}, {
path: "/iwen",
component: HellowIwen
}]
})

main.js抽取逻辑后变为 ;

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App' // 引入 默认加载 index.js
import router from './router' Vue.config.productionTip = false /* eslint-disable no-new */
new Vue({
el: '#app',
components: {App},
template: '<App/>',
router
})

确定加载位置: , 在 app.vue 中

<template>
<div id="app">
<img src="./assets/logo.png">
<HelloWorld/> <router-view></router-view> </div>
</template>

3, 跳转

1), 新建 navelist .vue, 使用 router-link 标签进行跳转

<template>
<div>
<!--用来跳转的-->
<ul>
<li>
<!--使用基本的 to-->
<router-link to="/hello">hello world</router-link>
</li> <li>
<router-link to="/iwen">hello iwen</router-link>
</li>
</ul> <ul>
<li>
<!--v-bind:to 动态数据加载-->
<router-link :to="urlData.helloworld">hello world</router-link>
</li>
</ul> <ul>
<li>
<!-- 使用 path -->
<router-link :to="{path: urlData.helloworld}">hello world</router-link>
</li>
</ul> </div>
</template> <script>
export default {
name: "NavList",
data() {
return {
urlData: {
helloworld: "/hello",
helloIwen: "/iewn"
}
}
}
}
</script> <style scoped>
ul {
list-style: none;
text-align: center;
}
li {
color: red
}
</style>

当点击时, 通过 router-link 标签解携为 a 标签, 进行叶面间跳转

可以在进行 vue init webpack router-example 的时候, 直接创建router, 和上面的结构一致

vue-10-路由的更多相关文章

  1. vue(5)—— vue的路由插件—vue-router 常用属性方法

    前端路由 看到这里可能有朋友有疑惑了,前端也有路由吗?这些难道不应该是在后端部分操作的吗?确实是这样,但是现在前后端分离后,加上现在的前端框架的实用性,为的就是均衡前后端的工作量,所以在前端也有了路由 ...

  2. 【Vue的路由,SPA概念】

    前言 本章是为了以后实现前端页面的搭建而写的, 重点在于如何实现 单页Web应用 因为相对于以前的传统多页面web,有很大的缺陷. 那么就必须了解一下Vue的路由设置. SPA的概念 总的而言,我们知 ...

  3. Vue 嵌套路由使用总结

    Vue 嵌套路由使用总结   by:授客 QQ:1033553122   开发环境   Win 10   node-v10.15.3-x64.msi 下载地址: https://nodejs.org/ ...

  4. [VUE]关于路由哪些事儿

    什么是路由 之前有个小伙伴面试被问到:面试官:不用vue能不能写单页面应用?答:用angular啊(咳咳,开个玩笑),答案确实是可以的,原生js中有个事件叫做onhashchange,可以在windo ...

  5. 四、vue前端路由(轻松入门vue)

    轻松入门vue系列 Vue前端路由 七.Vue前端路由 1. 路由的基本概念与原理 后端路由 前端路由 实现简单的前端路由 vue-router基本概念 2. vue-router的基本使用 基本使用 ...

  6. Vue 路由懒加载, VueRouter一步完成Vue的路由懒加载 一行代码搞定懒加载

    Vue Router路由配置中的component里面配置即可 1 // 路由懒加载的方式加载组件 2 3 component: () => import('@/views/Detail'), ...

  7. vue父路由默认选中第一个子路由,切换子路由让父路由高亮不会消失

    vue父路由默认选中第一个子路由,切换子路由让父路由高亮不会消失 正常默认会有 .router-active-class 识别高亮 达到以上注意: 1. exact 不要加 注意是不要加,exact ...

  8. vue的路由映射问题

    遇到的问题 今天在项目中遇到了一个问题,明明在Router文件夹下的路由js映射文件中,配置好了,如下: // 生日贺卡 { path: 'birthdayRemind', component: lo ...

  9. 前端MVC Vue2学习总结(八)——Vue Router路由、Vuex状态管理、Element-UI

    一.Vue Router路由 二.Vuex状态管理 三.Element-UI Element-UI是饿了么前端团队推出的一款基于Vue.js 2.0 的桌面端UI框架,手机端有对应框架是 Mint U ...

  10. Vue.js路由

    有时候,我们在用vue的时候会有这样的需求,比如一个管理系统,点了左边的菜单栏,右边跳转到一个新的页面中,而且刷新的时候还会停留在原来打开的页面. 又或者,一个页面中几个不同的画面来回点击切换,这两种 ...

随机推荐

  1. Java多线程编程核心技术(一)

    先提一下进程,可以理解为操作系统管理的基本单元. 而线程呢,在进程中独立运行的子任务.举个栗子:QQ.exe运行时有很多子任务在同时运行,比如好友视频线程.下载视频线程.传输数据线程等等. 多线程的优 ...

  2. 20175316盛茂淞 2018-2019-2 《Java程序设计》第9周学习总结

    20175316盛茂淞 2018-2019-2 <Java程序设计>第9周学习总结 教材学习内容总结 下载安装MySQL数据库管理系统. 学习<Java程序设计>第十一章MyS ...

  3. js unicode转中文 &#26041;&#26696;&#27010;&#36848;&#32852;&#32593;LED&#29031;&#26126;&#26041;&#26696;&#21487;&#25191;&#34892;&#20840;&#37096;&#30340;DALI &#21644;

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. bond绑定两张物理网卡为一张逻辑网卡

    问题:cnetos7同时接入两个独立网络,但两个网络的IP网段相同时只能路由到一个网络 解决方法:使用bond绑定两张物理网卡为一张逻辑网卡 1.新建文件bond.conf,内容如下 alias bo ...

  5. mount的几个选项

    一.mount -o noatime表示在读文件时不去更改文件的access time属性了,所以该选项会提升mount操作的执行效率. 二.mount --bind:等同于 -o bind可用于挂载 ...

  6. 《笔记篇》非JS方法跳转到一个新页面,主要防止客户端禁止浏览器JS以后的跳转异常

    用非JS方法打开一个新页面,主要防止客户端禁止浏览器JS以后的跳转失效 <meta http-equiv="refresh" content="0; url=htt ...

  7. 万里长征第一步:Python进程池的一点点小坑

    # -*- coding: utf- -*- """ Created on Thu Mar :: @author: lilide """ # ...

  8. C++ 一些特性

    1.  初始化列表std::initializer_list,头文件<initializer_list> C++11提供了模板类template<class T> class ...

  9. 数值计算 的bug:(理论)数学上等价,实际运行未必等价

    1. 计算表达式的值(lambda 表达式) fun1 和 fun2 理论上是等价的:同样的输入情形下,两种输出结果不一致. # fun1 定义 fun1=lambda x:sqrt(x+1)-sqr ...

  10. 设置HttponlyCookie解决mshtml编程无法获取验证码图片流

    最近给客户做的项目有一个新需求,客户需要在打开的IE浏览器中做自动登录,登录的页面上有神兽验证码.解决验证码的方案是找第三方平台打码.这样就有一个问题,如何把正确的验证码传给第三方打码平台. 大家都知 ...