我不明白为什么它不能工作。
我在尝试通过从html中调用一个方法来显示登录/注销链接。在控制台中,我可以看到它返回“true”,但它从未将该链接更改为“Logout”。屏幕上始终显示“Login”。
我在尝试通过从html中调用一个方法来显示登录/注销链接。在控制台中,我可以看到它返回“true”,但它从未将该链接更改为“Logout”。屏幕上始终显示“Login”。
<ul class="nav navbar-nav navbar-right">
<li class="nav-item dropdown" [hidden]="!authenticated()">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fa fa-user" aria-hidden="true"></i> Welcome, {{user}}!
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="nav-link dropdown-item" (click)="logout()">Logout</a>
</div>
</li>
<li class="nav-item dropdown" [hidden]="authenticated()">
<a routerLinkActive="active" routerLink="/login">Login</a>
</li>
</ul>
component.ts
authenticated() {
console.log(localStorage.getItem('authenticated'));
if(localStorage.getItem('authenticated') === 'true') {
console.log("YES");
return true;
} else {
console.log("NO");
return false;
}
}
*ngIf
指令代替hidden
指令。如果你想要隐藏,可以返回null
而不是false
。 - Roberto Zvjerković[hidden]
替换为您应该使用的*ngIf
即可。*ngIf ="!authenticated()"
- Roberto Zvjerković!
- Roberto Zvjerković