Vue 对嵌套路由的理解

之前使用嵌套路由的时候发现搞不清楚为什么没有正确显示,查阅文档后,根据自己的理解把实验过程记录一下

<!-- HTML -->
1
2
3
4
5
6
7
8
9
10
<div id="app">
  <p>
    <router-link to="/a">a</router-link>
    **
    <router-link to="/a/b">b</router-link>
    **
    <router-link to="/a/b/c">c</router-link>
  </p>
  <router-view></router-view>
</div>

  

1
2
3
4
5
6
7
8
9
10
11
12
13
/* CSS */
#app>p{
    border:5px solid red;
}
.a{
    border:5px solid green;
}
.b{
    border:5px solid yellow;
}
.c{
    border:5px solid blue;
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// JavaScript
const User = {
  template: `
    <div class="user">
      <h2>显示区</h2>
      <router-view></router-view>
    </div>
  `
}
 
const a = { template: '<div class="a"><p>a路由</p><router-view></router-view></div>' }
const b = { template: '<div class="b"><p>b路由</p><router-view></router-view></div>' }
const c = { template: '<div class="c"><p>c路由</p><router-view></router-view></div>' }
 
const router = new VueRouter({
  routes: [
    { path: '/', component: User,
      children: [
        {   name:'a',
            path: 'a',
            component: a,
            children:[
              {   name:'b',
                  path: 'b',
                component: b,
                children:[
                 {
                    name: 'c',
                    path: 'c',
                    component: c }  
                ]
                 }, 
            ]
         },    
      ]
    }
  ]
})
 
const app = new Vue({ router }).$mount('#app')

  

 

结论:嵌套路由就是匹配路由表的路径,把组件切换出来,切换组件内也必须有router-view,这样才能显示其中的子路由

 

posted @   时间观测者  阅读(64)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示