2
我有2個導入服務的不同組件。 該服務有一個屬性。Angular 2 - 將會話變量鏈接到組件變量
我在組件中使用此屬性。 我希望在更新services屬性時更新對該值的組件引用。
服務
import { Injectable } from '@angular/core';
@Injectable()
export class SessionService {
private loggedIn: boolean = false;
isLoggedIn():boolean{
return this.loggedIn;
}
setLoggedIn(isLoggedIn: boolean){
this.loggedIn = isLoggedIn;
}
}
組件屬性:
isSignedIn: boolean = this.session.isLoggedIn();
組件的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>
當我通過一個按鈕來更改會話值它不更改組件中的值。
感謝
在服務中設置值的按鈕是由不同的組件完成的。我認爲這種方式與引用組件ts文件中的值相同,無論如何都將其分配給session.isLoggedIn。我試着把它作爲* ngIf =「session.isLoggedIn()」和* ngIf!=「session.isLoggedIn()」,但它仍然不起作用。 – Pete
你必須訂閱什麼? – Pete
我更新了實際示例用例的答案 – Bazinga