У меня есть MainMenuComponent
с некоторыми ссылками для навигации. Некоторые ссылки для подписчиков, некоторые для гостей и некоторые для всех.Угловая 2 - переменная компонента от услуги не изменяется на вид
Мой мастер шаблон (master.html
) выглядит следующим образом:
<main-menu></main-menu>
<div class="container">
<router-outlet></router-outlet>
</div>
внутри моей router-outlet
, у меня есть login component
. Когда я вхожу в систему, я меняю свою переменную JwtService.jwtToken
на токен пользователя. (Переменная службы)
Это означает, что после входа в систему, я все еще могу видеть «Login» и «Регистрация» ссылки меню:
<li *ngIf="!JwtService.getToken()" [class.active]="isRouteActive(['/Login'])"><a [routerLink]="['Login']">Login</a></li>
<li *ngIf="!JwtService.getToken()" [class.active]="isRouteActive(['/Register'])"><a [routerLink]="['Register']">Register</a></li>
<li *ngIf="JwtService.getToken()" [class.active]="isRouteActive(['/Fight'])"><a [routerLink]="['Fight']">Fight</a></li>
<li *ngIf="JwtService.getToken()"><a (click)="logOut()">Log Out</a></li>
Почему JwtService.getToken() изменяется в моем <router-outlet>
но вне его, в моем основном компоненте меню, его не обновлять? (Если я не обновлять страницу вручную)
** Другими словами: Когда моя переменная служба изменяется после Войти с помощью jwtService.setToken("MY_TOKEN");
, следующее выражение на мой взгляд, не изменилась:
JwtService.getToken()
и остается нулевым пока я не обновляю свой браузер/маршрут **
Это не так много информации о том, что происходит в вашем приложении. Можете ли вы создать плункер? –
Мое приложение действительно большое, и в мою проблему есть много не относящихся к делу частей кода. Пожалуйста, дайте мне знать, какая информация необходима для решения этой проблемы или получения общих знаний об этом. Я обновил свой пост для более подробной информации. – TheUnreal