【问题标题】:How to navigate to nested router via code如何通过代码导航到嵌套路由器
【发布时间】:2018-09-10 11:23:23
【问题描述】:

如何通过代码创建此链接:
'foo' 是路由器出口的名称,'bar' 是组件的名称。
http://localhost:8000/Home/(foo:bar)

我以前在 HTML 中是这样的:

<a [routerLink]="[{outlets: {foo: ['Bar']}}]">Bar</a>

但我无法通过代码导航到相同的 URL:

this._router.navigate([{ outlets: { foo: bar} }], { relativeTo: this._route });

在控制台中我得到了这个:

NavigationError(id: 3, url: '/Home(foo:bar)', error: 错误: 无法匹配任何路由。 URL 段:'bar')

'Home' 和 '(foo:bar)' 之间的 / 缺失:/Home/(foo:bar)'

根据评论更新:
我有一个包含我的导航栏的页面“主页”。 在该导航栏下,我有一个“命名路由器插座”,它显示用户浏览到的页面。

【问题讨论】:

  • 您这样做究竟想达到什么目的?
  • 你能创建一个 plunker 吗?

标签: angular angular2-routing


【解决方案1】:

我必须自己添加前缀:

this._router.navigate(['Home', { outlets: { foo: bar} }]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-20
    • 2021-03-05
    • 2021-03-11
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多