vuejs2 - Vue从子路由导航到父路由的父路由不起作用
问题描述
我有这样的路线结构:
routes: [
{
path: '/login',
name: 'Login',
component: Login
},
{
path: '/',
component: Index,
redirect: '/riders',
children: [
{
path: 'users',
name: 'Users',
component: Users
},
{
path: 'owners',
name: 'Owners',
component: Owners
},
{
path: 'writers',
component: Writers,
redirect: '/junior',
children: [
{
path: 'junior',
name: 'Junior',
component: JuniorWriters
},
{
path: 'senior',
name: 'Senior',
component: SeniorWriters
}
]
}
]
}
]
My和可通过索引组件中的导航栏访问Users
,并且它们的组件在索引组件的部分中呈现。Owners
Writers
在 Writers 组件中,我有另一个 wherejunior
和senior
嵌套。在 Writers 组件中可以访问加载JuniorWriters
和组件的链接。SeniorWriters
但是,由于我的 navtab 位于作为整体父级的索引组件中,因此它可以在所有组件中访问。
但是,当我导航到/writers/junior(或高级)时,会加载正确的组件,但是,如果我从导航选项卡中选择所有者或用户,则路径将更改为/writers/junior/owners(或用户)。
问题:
我如何实现这一点,以便无论何时从导航选项卡中选择路由,无论选择路径是什么,路由都是/users或/owners ?
解决方案
/writers/junior/owners
当您加载时,路径将更改为/users
or /owners
,
因为您redirect:'writers'
在 parent 中添加了基本上重定向到 writers 的字段, writers 也有一个redirect:junior
字段,因此它重定向到 writers/junior 然后附加 owner ,因此最终路径变为writers/junior/owners
.
你可以尝试这样的事情,给予path:'/users'
而不是path:'users'
routes: [
{
path: '/login',
name: 'Login',
component: Login
},
{
path: '/',
component: Index,
children: [
{
path: '/users',
name: 'Users',
component: Users
},
{
path: '/owners',
name: 'Owners',
component: Owners
},
{
path: '/writers',
component: Writers,
children: [
{
path: 'junior',
name: 'Junior',
component: JuniorWriters
},
{
path: 'senior',
name: 'Senior',
component: SeniorWriters
}
]
}
]
}
]
推荐阅读
- javascript - 无服务器自定义授权器结果未定义
- hostname - 什么以及为什么我的 $HOSTNAME 是 hitronhub.home?
- excel - 我可以使用任何公式/方法将 A 列中的每一行与 B 列中的每一行连接起来吗?
- android - 当滚动超出最初可见的内容时,无法在回收站视图中访问文本视图
- asp.net-mvc - 如何解决“/”应用程序中的服务器错误
- python - 如何将布尔张量打包成 int32 张量的位?
- swift - 如何通过 urlsession 更新 uitableview 单元格中的进度视图(下载/上传文件)
- laravel - Azure 中托管的 Laravel Web 应用程序中的 PUT 和 DELETE 405 Method Not Allowed 错误
- javascript - 相对于父容器定位元素
- c++ - 对模板类的模糊引用 (C++)