我无法在导航栏上有选择地显示链接.根据谁登录(用户或管理员),我想更改导航栏上显示的链接.
以下是用户/管理员注销的一个此类实例的代码.
在navbar.component.html中 -
<li *ngIf="authService.userLoggedIn()== true && authService.adminLoggedIn() == false"
[routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}">
<a (click)="onUserLogoutClick()" href="#">Logout</a>
</li>
<li *ngIf="(authService.adminLoggedIn() == true) && (authService.userLoggedIn() == false)"
[routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}">
<a (click)="onAdminLogoutClick()" href="#">Logout</a>
</li>
Run Code Online (Sandbox Code Playgroud)
无论authService.adminLoggedIn()与authService.userLoggedIn()回报tokenNotExpired;
以下是navbar.component.ts中的相关代码-
onUserLogoutClick() {
this.authService.userLogout();
this.flashMessage.show('You are now logged out', {cssClass: 'alert-success', timeout: 3000});
this.router.navigate(['/login']);
return false;
}
onAdminLogoutClick() {
this.authService.adminLogout();
this.flashMessage.show('Administrator now logged out', {cssClass: 'alert-success', timeout: 3000});
this.router.navigate(['/admin']);
return false;
}
Run Code Online (Sandbox Code Playgroud)
在authService.adminLogout()与authService.userLogout()刚刚清除存储在本地存储的令牌.
如果我犯的错误是愚蠢的,我会提前道歉.我是Angular的新手.