I am not getting why it is not working.
I am trying to show Login/Logout link based on condtion by calling a method from html. in console I can see it is returning "true", but it never changes the link to "Logout". it is always "Login" on the screen
<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;
}
}
After entering correct username/password (Her you can see in console it returns true)