私は認証されたユーザーコンポーネントとゲストユーザーのコンポーネントを分離する必要があるアプリケーションがあります。しかし、私は両方のコンポーネントが '/'ルートで読み込まれる必要があります。私は書いた経路が同じ2つの異なるコンポーネント
{
path: 'desktop',
loadChildren: 'app/member/member.module#MemberModule',
canActivate: [LoggedInGuard],
},
{
path: '',
loadChildren: 'app/guest/guest.module#GuestModule',
canActivate: [GuestGuard],
},
そしてそれは動作します。しかし、どのようにして、両方のコンポーネントが同じURLでロードされるのですか? メンバーのモジュールルートにpath: ''
を書き込もうとしましたが、2番目のルータールールは実行されませんでした。ここ はガードコードです:
LoggedInGuard:
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
if(this.sessionService.isLoggedIn()) {
return true;
} else {
return false;
}
}
GuestGuard:
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
if(!this.sessionService.isLoggedIn()) {
return true;
} else {
return false;
}
}
ここではplunkerです:私はそれを正しく行う必要がありますどのようにhttp://embed.plnkr.co/VaiibEVGE79QU8toWSg6/
?ありがとう
エラーとは何ですか? – echonax
すみません。エラーはありません。しかし、最初のルータルールを実行しました –
エラーがなく、最初のルータルールが満たされていれば、LoggedInGuardがtrueを返しましたか? – echonax