Ich habe 2 verschiedene Komponenten, die einen Service importieren. Dieser Service hat eine Eigenschaft.Angular 2 - Session-Variable mit Komponentenvariablen verknüpfen
Ich verwende diese Eigenschaft in den Komponenten. Ich möchte den Komponentenverweis auf diesen Wert aktualisieren, wenn die services -Eigenschaft aktualisiert wird.
Der Service
import { Injectable } from '@angular/core';
@Injectable()
export class SessionService {
private loggedIn: boolean = false;
isLoggedIn():boolean{
return this.loggedIn;
}
setLoggedIn(isLoggedIn: boolean){
this.loggedIn = isLoggedIn;
}
}
Die Komponenten Eigenschaft:
isSignedIn: boolean = this.session.isLoggedIn();
Der Bereich der Komponenten html:
<div *ngIf="isSignedIn">
<sd-header-signed-in></sd-header-signed-in>
</div>
<div *ngIf!="isSignedIn">
<sd-header-signed-out></sd-header-signed-out>
</div>
Als ich den Sitzungen Wert über eine Taste ändert sich nicht Ändern Sie den Wert in der Komponente.
Dank
Die Schaltfläche, die den Wert im Service festlegt, wird von einer anderen Komponente ausgeführt. Ich dachte, dass dies derselbe wäre, als würde man den Wert in der Komponente ts-Datei referenzieren, wo sowieso session.isLoggedIn zugewiesen ist. Ich habe versucht, es als * ngIf = "session.isLoggedIn()" und * ngIf! = "Session.isLoggedIn()", aber es funktioniert immer noch nicht. – Pete
müssen Sie abonnieren oder etwas? – Pete
Ich aktualisierte die Antwort für realen Beispiel Anwendungsfall – Bazinga