当我登录并导航到其他页面或登录时,我收到以下错误:
EXCEPTION: Uncaught (in promise): Error: Cannot find primary outlet to load 'customComponent'
Error: Cannot find primary outlet to load 'customComponent'
但是当我没有登录时,导航工作。
我还注意到,如果我删除其中一个路由器插座,导航将起作用。假设我在登录中删除路由器插座,user.username 中的导航将正常工作。
怎么来了?如何使其正常工作?如果未登录,请在此处显示路由器插座,否则,如果IM在线,则在其他地方显示?
法典:
<div *ngIf="user.username">
<a routerLink="/murder" routerLinkActive="active">Murder</a>
<a routerLink="/login" routerLinkActive="active">Login</a>
<div>
<router-outlet></router-outlet>
</div>
</div>
<div *ngIf="loggedin == false">
<a routerLink="/murder" routerLinkActive="active">Murder</a>
<a routerLink="/login" routerLinkActive="active">Login</a>
// other things
<div>
<router-outlet></router-outlet>
</div>
</div>
更新:
我在登录时制作了路由器插座:
<router-outlet name="regular"></router-outlet>
和外面:
<router-outlet name="aux"></router-outlet>
并更改了我的路由:
path: 'murder',
component: MurderComponent,
outlet: 'regular'
但是当我导航时,我得到:
EXCEPTION: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'murder'
怎么来了?
完整代码路由:
RouterModule.forRoot([
{
path: 'login',
component: LoginhandlerComponent,
outlet: 'aux'
},
{
path: 'murder',
component: MurderComponent,
outlet: 'regular'
},
]
)
您需要将插座添加到路由器链接。尝试如下:
<a [routerLink]="['/', {outlets: {'regular': 'murder'}}]" routerLinkActive="active">Murder</a>