私はMainMenuComponent
にいくつかのナビゲーションリンクがあります。 一部のリンクは署名されたメンバー、一部はゲスト、一部は誰ものためのリンクです。角2 - サービスのコンポーネント変数がビューで変更されていません
私のマスターテンプレート(master.html
)は次のようになります。私のrouter-outlet
内部
<main-menu></main-menu>
<div class="container">
<router-outlet></router-outlet>
</div>
、私はlogin component
を持っています。私がログインすると、自分のJwtService.jwtToken
変数をユーザートークンに変更します。 (サービス変数)
ログイン後、私はまだ、「ログイン」および「登録」メニューへのリンクを見ることができることを意味:
<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()
、それがnullのままブラウザ/ルートをリフレッシュするまで
これは、アプリケーションで何が起こっているのか、それほど多くの情報ではありません。あなたはプランナーを作ることができますか? –
私のアプリケーションは本当に大きく、私の問題では無関係な部分がたくさんあります。この問題を解決したり、一般的な知識を得るために必要な情報を教えてください。私は詳細については私のポストを更新しました。 – TheUnreal