phz*_*nta 7 router router-outlet angular
我的模板看起来像这样:
<router-outlet></router-outlet>
<router-outlet name="rightpanel"></router-outlet>
Run Code Online (Sandbox Code Playgroud)
让我们说我的网址是:
/#/page1(rightpanel:panel)
Run Code Online (Sandbox Code Playgroud)
我想切换到page2并使用routerLink指令删除辅助插座.我尝试了以下方法:
[routerLink]="['/page2', {outlets: {rightpanel: null}}
[routerLink]="['/page2', {outlets: {}}
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,页面都切换到page2,但rightpanel
仍处于活动状态.我能解决的唯一方法是将以下代码放在page2的构造函数中:
this.router.navigate([{outlets: {rightpanel: null}}]);
Run Code Online (Sandbox Code Playgroud)
由于许多原因,这不是一个好的解决方案.
使用角2.4.3,路由器3.4.3
您需要设置主要出口而不仅仅是 URL。就我个人而言,这似乎是非常奇怪的行为,但您可以通过以下方式使其工作:
[routerLink]="[{outlets: { primary: 'page2', rightpanel: null }}]"
Run Code Online (Sandbox Code Playgroud)
根据文档,primary
是未命名插座的名称。
归档时间: |
|
查看次数: |
1509 次 |
最近记录: |