如何在Angular服务中避免使用全局变量



我有一个用例,我有一个服务文件,在该服务文件中我有一个全局变量'check'。check的值由该服务中的某个函数更新。我必须在组件中使用这个检查变量,因为它是全局的,所以我可以很容易地使用它。

但是我不想在服务中把这个变量设为全局,有没有别的方法可以在不设全局的情况下达到同样的效果?

test.service.ts

export class TestService extends AbstractGridServiceHandler {
check = '';
updateVal(){
this.check = 'updated';
}
}

test1.component.ts

import { TestService } from 'service';
export class testComponent{
constructor(private ts: TestService) {
super();
}
ngOnInit() {
let a = this.ts.check ;

}
}

你可以把这个变量作为getter来访问:

export class TestService extends AbstractGridServiceHandler {
private _check = '';
get check():string{
return this._check;
}
updateVal(){
this._check = 'updated';
}
}

最新更新