大家好,我正在使用 Vue-Router 2.5.3,我有以下路由结构。
path: "/admin", component: require("./views/layouts/MasterLayout.vue"), meta: { requiresAuth: true }, children: [
{ path: 'dashboard', component: require("./views/Dashboard.vue"), alias: "/", name: "dashboard" },
{ path: 'upload', component: require("./views/Upload.vue"), name: "upload", redirect: {name: 'upload.photo'}, children: [
{
path: 'photo',
component: require("./components/Uploaders/ImagesUploader.vue"),
name: "upload.photo",
props: { selected: true, successEndpoint: "/api/v1/upload/complete", uploadEndpoint: "/api/v1/upload" }
},
{
path: 'video',
component: require("./components/Uploaders/VideoUploader.vue"),
name: "upload.video",
props: { selected: true, successEndpoint: "/api/v1/upload/complete", uploadEndpoint: "/api/v1/upload" }
}
] },
而且我对此配置有问题,每当我导航到"管理员/上传"时,它都会显示一个空白页面,我希望它默认显示"管理员/上传/照片",即使我的用户导航到"管理员/上传"我如何在 Vue Router 中实现这一点?
我已经尝试在"上传">和子路由中定义别名,但没有任何反应,然后我也尝试在"上传"父路由中定义重定向键,然后再次空白页......
我不太明白我出了什么问题,是因为我的结构有两个级别的嵌套吗?但是,如果这是一个问题,我如何仅使用一个嵌套级别来定义这些路由?
没关系大家,有点愚蠢的问题...(今天在办公室度过了糟糕的一天(
只需添加
alias: "/"
到要用作默认的子路由...
所以在我的情况下,"照片"可能会变成
{
path: 'photo',
component: require("./components/Uploaders/ImagesUploader.vue"),
name: "upload.photo",
alias: "/",
props: { selected: true, successEndpoint: "/api/v1/upload/complete", uploadEndpoint: "/api/v1/upload" }
},
因为我们想要的是让"照片"响应"上传">中的根,所以我们告诉它同时响应上传/"照片"和上传"/",因为它们嵌套在"上传"中,"上传"路由总是附加到任何子路由及其别名。