我有一个名为EditEmployee的类,在其中声明了一个字段:
export class EditEmployee implements OnInit {
spaceRequirement = 0;
...
}
我想将spaceRequirement
字段设为可观察,以便在我的ngOnInit()
函数中可以做到这一点:
export class EditEmployee implements OnInit {
spaceRequirement = 0;
...
ngOnInit() {
this.spaceRequirement.subscribe(spaceReq => {
//Call some function when spaceRequirement changes
}
}
如何使spaceRequirement
字段为可观察字段,以便只要该值发生更改就可以调用函数?
答案 0 :(得分:3)
您可以将其设置为BehaviorSubject
spaceRequirement = new BehaviorSubject<number>(0);
然后您可以订阅它。
如果需要更改其值,请致电:
this.spaceRequirement.next(NEW_VALUE_HERE);
答案 1 :(得分:0)
您可以有一个getter和setter来访问行为主题并订阅该行为主题以监视更改。
spaceRequirement$ = new BehaviorSubject<number>(0);
get spaceRequirement(): number {
return this.spaceRequirement$.value;
}
set spaceRequirement(val: number) {
this.spaceRequirement$.next(val);
}
ngOnInit() {
this.spaceRequirement$.subscribe(spaceReq => {
//Call some function when spaceRequirement changes
}
}