上一次給大家簡(jiǎn)單說(shuō)了下什么是動(dòng)態(tài)路由現(xiàn)在我們來(lái)講講嵌套路由。
1.嵌套路由的使用場(chǎng)景是什么呢?
大家都知道選項(xiàng)卡,在選項(xiàng)卡中,頂部有數(shù)個(gè)導(dǎo)航欄,中間的主體顯示的是內(nèi)容;這個(gè)時(shí)候,整個(gè)頁(yè)面是一個(gè)路由,然后點(diǎn)擊選項(xiàng)卡切換不同的路由來(lái)展示不同的內(nèi)容,這個(gè)時(shí)候就是路由中嵌套路由。
2.具體是怎么實(shí)現(xiàn)的?
① 為了演示,我們現(xiàn)在view文件夾下新建一個(gè)title1.vue和title2.vue用來(lái)存放不同的內(nèi)容

代碼如下:
<template>
<div class="title1">
這里是title1的內(nèi)容
</div>
</template>
<script>
export default {
}
</script>
<style scoped>
</style>

代碼如下:
<template>
<div class="title2">
這里是title2的內(nèi)容
</div>
</template>
<script>
export default {
}
</script>
<style scoped>
</style>
② 現(xiàn)在我們?cè)趓outer 》 index.js 中將這上面兩個(gè)新建的組件引入進(jìn)來(lái)并填寫路徑,這里的Title1和Title2是作為test.vue頁(yè)面的子路由,所以要寫在children屬性下
index.js
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
//引入組件
import Test from "@/view/test"
import Title1 from "@/view/title1"
import Title2 from "@/view/title2"
Vue.use(Router)
export default new Router({
routes: [
{
// path: '/test/:testId',
path:'/test/:testId/name/:testName',
name: 'HelloWorld',
//填寫路由參數(shù)
component: Test,
children:[{
path: 'title1',
name:'title1',
component: Title1
},
{
path: 'title2',
name:'title2',
component: Title2
}
]
}
]
})
注意:這里需要提個(gè)醒的就是填寫children子路由的path不要加/
③ 然后我們?cè)偃サ絫est.vue中敲:
在這里提個(gè)醒,在to后面寫路由路徑的時(shí)候,一定到帶上絕對(duì)路徑,也就是要把test這個(gè)父路由路徑寫進(jìn)去"/test/title1"

test.vue代碼:
<template>
<div class="test">
<!-- 動(dòng)態(tài)路由-->
this is id:{{$route.params.testId}}
<br/>
this is name:{{$route.params.testName}}
<br/>
<!--嵌套路由-->
<router-link to="/test/title1">標(biāo)題1</router-link>
<router-link to="/test/title2">標(biāo)題2</router-link>
<router-view></router-view>
</div>
</template>
<script>
export default {
name:'Test',
data() {
return {
msg: 'hello vue'
}
}
}
</script>
<style scoped>
</style>
④ 最后我們進(jìn)入瀏覽器點(diǎn)擊不同的標(biāo)題就可以看到不同內(nèi)容的展示


怎么樣是不是很簡(jiǎn)單,大家一起努力向前沖吧?。。。。?!