上一次给大家简单说了下什么是动态路由现在我们来讲讲嵌套路由。
1.嵌套路由的使用场景是什么呢?
大家都知道选项卡,在选项卡中,顶部有数个导航栏,中间的主体显示的是内容;这个时候,整个页面是一个路由,然后点击选项卡切换不同的路由来展示不同的内容,这个时候就是路由中嵌套路由。
2.具体是怎么实现的?
① 为了演示,我们现在view文件夹下新建一个title1.vue和title2.vue用来存放不同的内容
代码如下:
<template>
<div class="title1">
这里是title1的内容
</div>
</template>
<script>
export default {
}
</script>
<style scoped>
</style>
代码如下:
<template>
<div class="title2">
这里是title2的内容
</div>
</template>
<script>
export default {
}
</script>
<style scoped>
</style>
② 现在我们在router 》 index.js 中将这上面两个新建的组件引入进来并填写路径,这里的Title1和Title2是作为test.vue页面的子路由,所以要写在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',
//填写路由参数
component: Test,
children:[{
path: 'title1',
name:'title1',
component: Title1
},
{
path: 'title2',
name:'title2',
component: Title2
}
]
}
]
})
注意:这里需要提个醒的就是填写children子路由的path不要加/
③ 然后我们再去到test.vue中敲:
在这里提个醒,在to后面写路由路径的时候,一定到带上绝对路径,也就是要把test这个父路由路径写进去"/test/title1"
test.vue代码:
<template>
<div class="test">
<!-- 动态路由-->
this is id:{{$route.params.testId}}
<br/>
this is name:{{$route.params.testName}}
<br/>
<!--嵌套路由-->
<router-link to="/test/title1">标题1</router-link>
<router-link to="/test/title2">标题2</router-link>
<router-view></router-view>
</div>
</template>
<script>
export default {
name:'Test',
data() {
return {
msg: 'hello vue'
}
}
}
</script>
<style scoped>
</style>
④ 最后我们进入浏览器点击不同的标题就可以看到不同内容的展示
怎么样是不是很简单,大家一起努力向前冲吧!!!!!!
本站以现代、古代情诗为主,情诗网创办于2013年,以原创爱情诗歌、经典情诗、现代情诗、古代情诗、英文情诗、情诗绝句为主并收集古诗、古诗词、诗歌大全、诗词名句的文学门户。方便您下次继续阅读;可以放在浏览器的收藏夹中(快捷键Ctrl+D);或者看到喜欢或者有趣的诗词可以通过分享按钮给你的好友分享;情诗网是目前最全情诗大全网站之一。并欢迎广大诗歌爱好者阅览投稿!喜欢本站的话请大家把本站告诉给你朋友哦!地址是 www.qingshiwang.com !