vue.js - 路由器视图中的 Vue 路由器 addRoute 空白
问题描述
首先,对不起我的英语不好。我正在学习 vue 中的模块化架构/按功能划分的文件夹,就像这样
在用户模块中输入图像描述
在用户模块中我创建了一个这样
的路由器,在此处输入图像描述
并将用户的路由器添加到主路由器,像这样
在此处输入图像描述
Builder 路由器是我的用户登录后应用程序路由。我的主路由器就像这样
在此处输入图像描述
发生的事情是当我访问/dashboard
或/about
或其他定义主路由器的页面时一切正常。然后我单击/user
路由器(它来自用户的模块路由器),它也可以正常工作。但是当我/dashboard
再次访问时。路由器视图什么也不显示(它<!-- -->
在开发控制台中)。
<router-view> Page Loader
<router-view> Module Loader (Index, Add, Edit)
这是我的主路由器
const routes: Array<RouteRecordRaw> = [
{
path: '/',
name: 'Builder',
component: Builder,
meta: {
requiresAuth: true
},
redirect: '/dashboard',
children: [
{
path: 'dashboard',
name: 'Dashboard',
meta: {
pageTitle: 'Dashboard',
requiresAuth: true
},
component: () => import(/* webpackChunkName: "dashboard" */ '../views/Dashboard.vue')
},
{
path: 'about',
name: 'About',
meta: {
pageTitle: 'About',
requiresAuth: true,
breadcrumb: [
{
label: 'About',
to: '/about'
}
]
},
component: () => import(/* webpackChunkName: "about" */ '@/views/About.vue')
},
]
};
const router = createRouter({
history: createWebHistory(process.env.BASE_URL),
routes
})
export default router
- 注册路线
import router from '../router/index'
import store from '../store/index'
const registerModule = (name, module: any) => {
if (module.store) {
store.registerModule(name, module.store)
}
if (module.router) {
module.router.forEach(item => {
router.addRoute('Builder', item)
})
}
}
export const registerModules = (modules: any) => {
Object.keys(modules).forEach(moduleKey => {
const module = modules[moduleKey]
registerModule(moduleKey, module)
})
}
- 用户模块路由
const moduleRoute = [{
path: '/user',
name: 'User',
component: () => import(/* webpackChunkName: "user" */ '../user/Module.vue'),
meta: {
pageTitle: 'User Management Builder',
requiresAuth: true,
breadcrumb: [
{
label: 'User',
to: '/user'
}
]
},
children: [
{
path: 'list',
name: 'UserList',
meta: {
pageTitle: 'User Management',
requiresAuth: true,
breadcrumb: [
{
label: 'User',
to: '/user'
}
]
},
component: () => import(/* webpackChunkName: "user" */ '../user/views/Index.vue')
},
{
path: 'add',
name: 'UserAdd',
meta: {
pageTitle: 'User Add',
requiresAuth: true,
breadcrumb: [
{
label: 'User',
to: '/user'
}
]
},
component: () => import(/* webpackChunkName: "user" */ '@/modules/user/views/Add.vue')
}
]
}]
export default moduleRoute
额外说明:我也在使用 webpack,以防它影响我的问题
请提供任何帮助。先感谢您。
解决方案
推荐阅读
- matlab - 加速依赖循环
- arrays - Jade - 尝试显示来自 mongodb 的集合数据
- linux - RHEL 中“成员”的等效命令
- android - 图像在约束布局中距顶部有边距
- rspec - 在验证 Rails 中的模型属性期间,我收到两次错误消息
- html - 图片库不适合移动视图
- xamarin.forms - 在设备或模拟器上找不到 sql lite 数据库,但可以通过代码访问
- c++ - 当'operator double *'似乎可以完成工作时,为什么需要'operator []'
- node.js - 如何正确模拟 dynamoDB 调用?
- dictionary - 计算文件中给定子字符串的出现次数,Kotlin