Ember 路由器在重定向到“/”时中断
Ember router breaks on redirect to '/'
我很难让我的路由器知道我们在某个页面上,它应该在导航中显示为活动状态。情况如下:
this.route('mainRoute', function() {
this.route('list');
});
我们感兴趣的路径是/mainRoute。不幸的是,有很多遗留 link 指向 /mainRoute/list。解决方法是从 /mainRoute/list 组件重定向回 /mainRoute 组件。
beforeModel() {
this.replaceWith('/mainRoute');
}
现在,我的问题是 /mainRoute 导航 link 永远不会被视为活动的。我试过为 /mainRoute 添加路径('/'、'/mainRoute'、'mainRoute'),我试过将它转换为资源以及我想到的其他一些东西。但它要么不起作用,要么进入无限重定向循环。
有什么想法吗?非常感谢,我真的需要一个解决方案!
如果导航links是{{link-to}}
组件。您可以在此处使用 current-when 属性。它接受 boolean
或 string
。该字符串是一个 space 分隔值,其中包含您希望此 link 激活的路由名称。
来自文档
如果您需要 link 成为 'active' 即使它与当前路线不匹配,您可以使用
current-when
参数。
<LinkTo @route='photoGallery' @current-when='photos'>
Photo Gallery
</LinkTo>
{{#link-to 'photoGallery' current-when='photos'}}
Photo Gallery
{{/link-to}}
我很难让我的路由器知道我们在某个页面上,它应该在导航中显示为活动状态。情况如下:
this.route('mainRoute', function() {
this.route('list');
});
我们感兴趣的路径是/mainRoute。不幸的是,有很多遗留 link 指向 /mainRoute/list。解决方法是从 /mainRoute/list 组件重定向回 /mainRoute 组件。
beforeModel() {
this.replaceWith('/mainRoute');
}
现在,我的问题是 /mainRoute 导航 link 永远不会被视为活动的。我试过为 /mainRoute 添加路径('/'、'/mainRoute'、'mainRoute'),我试过将它转换为资源以及我想到的其他一些东西。但它要么不起作用,要么进入无限重定向循环。
有什么想法吗?非常感谢,我真的需要一个解决方案!
如果导航links是{{link-to}}
组件。您可以在此处使用 current-when 属性。它接受 boolean
或 string
。该字符串是一个 space 分隔值,其中包含您希望此 link 激活的路由名称。
来自文档
如果您需要 link 成为 'active' 即使它与当前路线不匹配,您可以使用
current-when
参数。
<LinkTo @route='photoGallery' @current-when='photos'>
Photo Gallery
</LinkTo>
{{#link-to 'photoGallery' current-when='photos'}}
Photo Gallery
{{/link-to}}