$route 是每个独有的
$router是共有的
官网:https://router.vuejs.org/zh/guide/essentials/nested-routes.html
思想:在一个路由组件里面还有路由组件
代码演示:
配置index.js:注意,子路由路径不能加/
// 该文件用于专门创建路由器
import VueRouter from 'vue-router'
import About from '../pages/About'
import Home from '../pages/Home'
import News from '../pages/News'
import Message from '../pages/Message'
// 创建并暴露一个路由器
export default new VueRouter({
routes:[
{
path:'/about',
component:About,
children:[
{
// 二级路由路径不能加/
path:'message',
component:Message
}
]
},
{
path:'/home',
component:Home,
children:[
{
// 二级路由路径不能加/
path:'news',
component:News
}
]
}
]
})
添加子路由组件:message
<template>
<div class="Message">
<ul>
<li>message01</li>
<li>message02</li>
<li>message03</li>
</ul>
</div>
</template>
<script>
export default {
name:'Message',
data(){
return{
}
},
methods:{
}
}
</script>
<style scoped>
.Message{
background-color: bisque;
}
</style>
在父路由中使用子路由跳转:
<template>
<div class="About">
<h1>About</h1>
<br>
<ul>
<li>
<router-link active-class="active" to='/about/message'>message</router-link>
</li>
</ul>
<router-view></router-view>
</div>
</template>
<script>
export default {
name:'About',
data(){
return{
}
},
methods:{
}
}
</script>
<style scoped>
.About{
background-color: bisque;
}
</style>
结果: