小编Sha*_*eel的帖子

Angular 2-使用具有多个条件的*ngIf

我无法在导航栏上有选择地显示链接.根据谁登录(用户或管理员),我想更改导航栏上显示的链接.

以下是用户/管理员注销的一个此类实例的代码.

在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的新手.

angular-ng-if angular

14
推荐指数
1
解决办法
6万
查看次数

标签 统计

angular ×1

angular-ng-if ×1