angular中如何定义全局变量_如何在Angular 2中定义全局变量,我可以将它们用于模板中的属性绑定?...

在Angular 2应用程序中,为跟踪用户登录状态,作者尝试创建一个全局变量。他们定义了一个名为AppGlobals的类,包含一个布尔型的isUserLoggedIn属性,并提供了设置和获取登录状态的方法。然而,在不同组件间绑定这个全局变量时遇到问题,属性绑定没有实时更新。编辑部分提到尝试使用BehaviorSubject,但遇到了错误。作者寻求解决如何使用AppGlobals确保属性绑定在登录状态改变时自动更新,以及如何处理BehaviorSubject类型的错误。
摘要由CSDN通过智能技术生成

在我的Angular 2(beta 14)应用程序中,我需要跟踪用户登录状态以隐藏/显示某些元素 .

我得到的问题是属性绑定不像我做的那样工作如下 .

我创建了一个用于存储和更新全局变量的类:

app-global.ts

import {Injectable} from "angular2/core";

@Injectable() export class AppGlobals {

// use this property for property binding

public isUserLoggedIn: boolean = false;

setLoginStatus(isLoggedIn){

this.isUserLoggedIn = isLoggedIn;

}

getLoginStatus(){

return this.isUserLoggedIn;

} }

在登录组件中,我导入了AppGlobals

export class LoginComponent {

constructor(private _appGlobals: AppGlobals) { }

并设置登录状态

this._appGlobals.setLoginStatus(true);

在另一个组件中,我像在LoginComponent中那样注入AppGlobals

我定义了一个类(组件)的属性

isLoggedIn:boolean = this._appGlobals.isUserLoggedIn; //我也尝试使用getter而不是public属性(见上文)

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值