如何通过代码创建此链接:
'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)',错误:错误: 无法匹配任何路线。网址段:“栏”)
缺少'Home'和'(foo:bar)'之间的 / :/ Home /(foo:bar)'
根据评论进行更新:
我有一个“主页”页面,其中包含我的导航栏。
在该导航栏下,有一个“命名路由器出口”,显示用户浏览到的页面。
答案 0 :(得分:0)
我必须自己添加前缀:
this._router.navigate(['Home', { outlets: { foo: bar} }]);