Ich habe eine Anwendung, die authentifizierte und Gastbenutzer Komponenten trennen müssen. Aber ich brauche, dass beide Komponenten von '/' Route geladen werden. Ich schriebAngular 2 verschiedene Komponenten mit der gleichen Route
{
path: 'desktop',
loadChildren: 'app/member/member.module#MemberModule',
canActivate: [LoggedInGuard],
},
{
path: '',
loadChildren: 'app/guest/guest.module#GuestModule',
canActivate: [GuestGuard],
},
Und es funktioniert. Aber wie kann man machen, dass beide Komponenten von derselben URL geladen werden? Ich hatte versucht, path: ''
für die Modulroute des Mitglieds zu schreiben, aber die zweite Router-Regel wird nicht ausgeführt. Hier sind Wächter Code:
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;
}
}
Hier ist ein Plunker: http://embed.plnkr.co/VaiibEVGE79QU8toWSg6/
Wie soll ich es richtig machen? Vielen Dank.
Was ist der Fehler? – echonax
Es tut mir leid. Es gibt keinen Fehler. Aber nur die erste Router-Regel durchgeführt –
Wenn es keinen Fehler gibt und die erste Router-Regel erfüllt ist, dann ist Ihr LoggedInGuard wahr geworden? – echonax