VueRouter 路由默认应选择第一个子路由



大家好,我正在使用 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" }
},
因为我们想要的是让"照片"响应"上传">

中的根,所以我们告诉它同时响应上传/"照片"和上传"/",因为它们嵌套在"上传"中,"上传"路由总是附加到任何子路由及其别名。

最新更新