Vue(Vue2+Vue3)——65.嵌套(多级)路由

简介: Vue(Vue2+Vue3)——65.嵌套(多级)路由

65 嵌套(多级)路由


嵌套路由就是在路由里面继续加一个新的路由。也叫多级路由,其实就是套娃

在开发中,很少会套到六层路由,一般到达4或5层路由已经达到极限了,明白了路由的规律,不管套多少层都是一样的,下面演示二级路由


65.1 配置多级路由(childen)


如下图所示,目前都是一级路由

如果想要配置多级路由,继续在路由里面配置即可

这里要用到children配置项,它的值是一个数组,因为这个一级路由可能有n多个子路由

children里面的path不需要加杠了,底层遍历的时候会自动加入

// 该文件专门用于创建整个应用的路由器
// 引入路由器
import VueRouter from "vue-router";
// 引入组件
import Abotu from '../pages/About.vue'
import Home from '../pages/Home.vue'
import News from '../pages/News.vue'
import Message from '../pages/Message.vue'
// 创建并且暴露文件一个路由器
export default new VueRouter({
    // 配置路由 本质是一个数组,在里面配置多组路由,每一个路由都是一个key和value映射对象
    routes:[
        {
            path:'/about',
            component:Abotu
         },
        {
            path:'/home',
            component:Home,
            //配置子路由
            children:[
                // 第一个子路由
                {
                    // 此时path不需要加杠了,底层遍历的时候会自动加入
                    path:'news',
                    component:News
                },
                 // 第二个子路由
                 {
                    path:'message',
                    component:Message
                }
            ]
         },
    ]   
})


65.2  使用多级路由


配置完多级路由之后,使用的必须把一级路由和二级路由完整的路径写到to属性中


65.3 总结


1 配置路由规则,使用children配置项:

routes:[
        {
                path:'/about',
                component:About,
        },
        {
                path:'/home',
                component:Home,
                children:[ //通过children配置子级路由
                        {
                                path:'news', //此处一定不要写:/news
                                component:News
                        },
                        {
                                path:'message',//此处一定不要写:/message
                                component:Message
                        }
                ]
        }
]

2 跳转(要写完整路径):

<router-link to="/home/news">News</router-link>
相关文章
|
2天前
|
JavaScript
|
1天前
|
存储 缓存 JavaScript
vue代码优化方案
【7月更文挑战第13天】 **Vue.js 优化要点:** 分解大组件以提高复用性和加载速度;利用计算属性与侦听器优化数据处理;使用Object.freeze()减少响应式数据;借助Vuex或Composition API管理状态;实现虚拟滚动和无限加载提升长列表性能;路由懒加载减少初始加载时间;用Vue DevTools检测性能瓶颈;定期代码审查与重构;应用缓存策略;遵循最佳实践与团队规范,提升应用整体质量。
10 2
|
4天前
|
JavaScript 前端开发
【vue】 el-table解决分页不能筛选全部数据的问题
【vue】 el-table解决分页不能筛选全部数据的问题
15 4
|
4天前
|
JavaScript
【vue】 vue2 监听滚动条滚动事件
【vue】 vue2 监听滚动条滚动事件
10 1
|
4天前
【vue3】Argumnt of type ‘history:RouterHistory;}is not assignable to paraeter of type ‘RouterOptions‘.
【vue3】Argumnt of type ‘history:RouterHistory;}is not assignable to paraeter of type ‘RouterOptions‘.
6 0
|
4天前
|
JavaScript
【vue3】vue3中路由hash与History的设置
【vue3】vue3中路由hash与History的设置
9 0
|
4天前
|
编解码 前端开发
【Vue3】解决电脑分辨率125%、150%及缩放导致页面变形的问题
【Vue3】解决电脑分辨率125%、150%及缩放导致页面变形的问题
11 0
|
JavaScript Go
|
JavaScript C语言 Go
|
4天前
|
JavaScript
【vue】el-dialog 内的tinymce弹窗被遮挡的解决办法 及 tinymce打开弹出菜单后直接关闭对话组件,导致该弹出菜单残留
【vue】el-dialog 内的tinymce弹窗被遮挡的解决办法 及 tinymce打开弹出菜单后直接关闭对话组件,导致该弹出菜单残留
14 6