我正在使用 vue-router 进行测试并遇到这个问题,如果我有两个命名视图但我只想更改其中一个而不更改默认视图怎么办?目前我是这样做的:
const router = new VueRouter({
routes: [
{
path: '/',
components: {
default: Foo,
change: Bar,
}
}
{
path: '/foo/test1',
components: {
default: Foo,
change: test1,
}
}
//is it possible to do it something like this?
{
path: '/:foo/test1',
components: {
default: :foo//<--- how to keep default to whatever it previously have?
change: test1
}
}
]
})
<router-view></router-view>
<router-view name="change"></router-view>
我想我可以通过动态匹配来做到这一点,获取当前的路由名称并将其作为参数传递,但我需要保留当前的默认路由(如某些表单输入),所以我宁愿只更改其中一个视图在不影响其他人的情况下...请帮忙...
找了好久才找到有同样问题的人!
我相信你已经解决了它,但我认为当命名时没有解决方案路由器视图当前路线的孩子不能使用。
我的意思是,不能在你的 Vue 应用程序中使用路由器路由器视图(无论是否命名)都不会丢失其他路由中当前渲染的视图,除非是通过在子路由中定义它。
我所看到的是通过使用相同的组件作为父组件条目并具有子组件条目,在同一个组件中路由器视图它不会丢失父路线渲染的内容。 [https://dev.to/berniwittmann/handling-dialogs-with-vue-router-29ji] https://dev.to/berniwittmann/handling-dialogs-with-vue-router-29ji%5D
我所做的是将其从路由器中删除,将其渲染在与路由器视图以前没有连接任何路线,现在正在按预期工作!
希望能帮助到你。 (即使是几年后)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)