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