如何检测属性何时更改服务?

s_k*_*les 1 typescript angular

我希望组件能够订阅或通知服务中变量的更改.

我查看了Observables,但我认为这不会起作用,因为你需要完成流,我需要知道变量在整个组件处于活动状态时的变化.

有谁知道这个好策略?

Har*_*inh 5

你有没有尝试过Subject或有任何变化?

使用示例 BehaviorSubject

服务:

export class MyService {
  myVariableSubject = new BehaviorSubject<number>(0);

  increase() {
    this.myVariableSubject.next(this.myVariableSubject.value + 1);
  }
}
Run Code Online (Sandbox Code Playgroud)

零件:

constructor(private myService: MyService) {}

ngOnInit() {
  this.myService.myVariableSubject.subscribe((value: number) => console.log(value));
}
Run Code Online (Sandbox Code Playgroud)

警告:这可能不是最适合您的问题的解决方案(您永远不会说明).