首页 文章

如何通过代码导航到嵌套路由器

提问于
浏览
0

如何通过代码创建此链接:
'foo'是路由器插座的名称,'bar'是组件的名称 .
HTTP://本地主机:8000 /首页/(FOO:巴)

我曾经在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)',错误:错误:无法匹配任何路由.URL段:'bar')

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

Update based on comment:
我有一个包含导航栏的页面'Home' . 在该导航栏下,我有一个'named router-outlet',显示用户浏览的页面 .

1 回答

  • 0

    我不得不自己添加前缀:

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

相关问题