情诗网 >套路情话 > 正文

4.嵌套路由vue-router

来源:情诗网    2020-11-12    分类:套路情话

上一次给大家简单说了下什么是动态路由现在我们来讲讲嵌套路由。

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>

④ 最后我们进入浏览器点击不同的标题就可以看到不同内容的展示

怎么样是不是很简单,大家一起努力向前冲吧!!!!!!

热门文章