使用 Vue-admin-element 作为基础框架,遇见一个需求,要把多个页面都放在某个页面的弹窗中,并且这些页面之间可以实现自己的路由跳转,不刷新父组件
1、按照Vue文档,在router.js中写好子路由(参考路由嵌套)
{ // 在需要添加子路由的页面添加上children
path: 'localCourse',
component: () => import('@/views/course/local/localCourse'),
name: 'localCourse',
redirect:{name:'courseList'}, //重定义到第一个子路由
meta: {title: 'XXXXXXX'},
children: [
{
path: 'courseList',
component: () => import('@/views/course/local/courseList'),
name: 'courseList',
meta: {title: 'XXXXXXXX', showZj: false}
},
{
path: 'editCourse',
component: () => import('@/views/course/local/editCourse'),
name: 'editCourse',
meta: {title: 'XXXXXXXX', showZj: true}
}
]
},
2、在需要添加子路由的页面上 写上路由组件
3、修改AppMain组件,修改key 防止子路由跳转引起父组件刷新
4、修改TagsView/index.vue文件 解决子路由跳转增加tag签
5、在子组件中这样写就行