路由简单来说就是不同的路径调用不同的代码块。
在配置路由之前,首先当然是把他们引进来了:
<script src="garage/vue.js"></script>
<script src="garage/vue-router.js"></script>
要配置一个路由,一共分为两个步骤:
- 创建路由表
- 创建 vue 对象
创建路由表
使用以下方式创建一个 router 对象:
let router=new VueRouter();
他接受一个 json 对象,对象里的 key 是 routes 属性:
let router = new VueRouter({
routes: [
{
path: '/user', component: {template: '<div> 我是买家, 今天啥也没买 </div>'}
},
{
path: '/company', component: {template: '<div> 我是卖家,今天卖了好几百万的服装 </div>'}
}
]
});
path 顾名思义就是路径,component 是一个组件,组件里面必须包含有 template,当然,component 本身也是一个 vue 对象,也可以有 vue 对象的那些属性
创建 vue 对象
let vm = new Vue({
el: '#div1',
router
})
如果我们创建的 router 对象的名字和 router 属性同名,就可以用上面的简写方式。
其实到这里 vue 的路由就算配置好了,接下来的事是需要把他显示在页面上,为此 vue 给我们提供了一个占位符:
<router-view></router-view>
当然我们还需要执行路由的动作:
<router-link to='/user'> 买家平台 </router-link>
<router-link to='/company'> 卖家平台 </router-link>
这个 router-link 的本质就是一个 a 标签,里面的 to 属性必须和上面路由配置表的 path 对上,不然,他也找不到你要 to 哪儿
完整代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="garage/vue.js"></script>
<script src="garage/vue-router.js"></script>
<script>
window.onload = function () {
// 创建路由表
let router = new VueRouter({
routes: [
{
path: '/user', component: {template: '<div> 我是买家, 今天啥也没买 </div>'}
},
{
path: '/company', component: {template: '<div> 我是卖家,今天卖了好几百万的服装 </div>'}
}
]
});
let vm = new Vue({
el: '#div1',
router
})
}
</script>
</head>
<body>
<div id="div1">
<router-link to='/user'> 买家平台 </router-link>
<router-link to='/company'> 卖家平台 </router-link>
<router-view></router-view>
</div>
</body>
</html>