1
我希望組件能夠訂閱或通知服務中變量的變化。如何檢測服務何時更改?
我看着Observables,但我不認爲這會工作,因爲你需要完成流,我需要知道在整個組件處於活動狀態時更改變量。
有沒有人知道這個好策略?
我希望組件能夠訂閱或通知服務中變量的變化。如何檢測服務何時更改?
我看着Observables,但我不認爲這會工作,因爲你需要完成流,我需要知道在整個組件處於活動狀態時更改變量。
有沒有人知道這個好策略?
您是否嘗試過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));
}
警告:這可能不是最合適的解決方案,您的問題(你永遠不會狀態)。
完美的就是這一點。謝謝 –
爲什麼你想要一個變量在服務中更改?服務通常用於獲取服務器數據,驗證用戶輸入或直接登錄到控制檯。雖然一個好的組件提供了數據綁定的屬性和方法。因此,讓另一個組件更改變量和跟蹤..(Src:https://angular.io/guide/architecture) –
因爲我檢查用戶是否已登錄並且狀態更改時,我更新了所有組件 –
好吧,我會建議創建一個組件,該組件在用戶登錄時提取,如果是的話;然後從這個組件更新所有其他組件調用服務.. –