Vue.js学习——Vue Router

Vue Router

Vue Router是Vue.js官方提供的路由管理器,使构建单页面应用变得非常方便。

安装

可以使用CDN或NPM进行安装。这里我们使用的是NPM。

1
npm install vue-router

然后在js文件中导入使用

1
2
3
import Vue form 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)

路由配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// 0. 如果使用模块化机制编程,导入Vue和VueRouter,要调用 Vue.use(VueRouter)
import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

// 1. 定义 (路由) 组件。
// 可以从其他文件 import 进来
import tvdrc_index from '@/pages/tvdrc_index'

// 2. 定义路由
// 每个路由应该映射一个组件。 其中"component" 可以是
// 通过 Vue.extend() 创建的组件构造器,
// 或者,只是一个组件配置对象。
// 可以使用children进行嵌套
// 以/开头的嵌套路径会被当作根路径
export default new Router({
routes: [
{
path: '/',
redirect: '/login'
}, {
path: '/login',
name: 'login',
component: login,
}, {
path: '/tvdrc_index',
name: 'tvdrc_index',
component: tvdrc_index,
children: [
{
path: 'index',
name: 'index',
component: index
},
//...
]
}
]
})

// 3. 创建 router 实例,然后传 `routes` 配置
// 你还可以传别的配置参数, 不过先这么简单着吧。
const router = new VueRouter({
routes // (缩写) 相当于 routes: routes
})

// 4. 创建和挂载根实例。
// 记得要通过 router 配置参数注入路由,
// 从而让整个应用都有路由功能
const app = new Vue({
router
}).$mount('#app')

// 现在,应用已经启动了!

路由跳转

进行路由跳转有两种方法。(声明式和编程式)

  • 一种是使用标签,类似于使用标签跳转到另一个url。

    1
    <router-link :to="{path: 'home'}"></router-link>
  • 另一种是使用函数router.push(),参数可以是一个字符串路径,或者一个描述地址的对象

    1
    router.push({ path: 'home' })

路由组件传参

router可以传参,使用 :参数的形式。
但是直接在组件里面使用$route.params.id的方式来引用参数耦合度高。
一般使用props将组件和路由解耦合。