我希望组件能够订阅或通知服务中变量的更改。
我查看了Observables,但我认为这不会起作用,因为你需要完成流,我需要知道变量在整个组件处于活动状态时的变化。
有没有人知道这个好策略?
答案 0 :(得分:5)
您是否尝试过Subject
或其中的任何变体?
使用BehaviorSubject
服务:
export class MyService {
myVariableSubject = new BehaviorSubject<number>(0);
increase() {
this.myVariableSubject.next(this.myVariableSubject.value + 1);
}
}
组件:
constructor(private myService: MyService) {}
ngOnInit() {
this.myService.myVariableSubject.subscribe((value: number) => console.log(value));
}
警告:这可能不是解决您问题的最合适的解决方案(您从未声明过)。