2017-06-29 26 views
0

我有一個角度應用程序,我希望有一個服務可以在應用程序初始化時從其餘服務中抽取幾MB的數據。然後我想通過應用程序中的其他組件更新該數組。有沒有一種方法可以從數組中創建一個observable,並在陣列發生變化時將新更新的數組激發到訂閱中。有誰知道這是否可能?如何創建一個可觀察到的數組發生更改

我正在考慮使用行爲主題,但我不確定這是否正確。

回答

2

是的,您可以使用BehaviorSubject發送更改通知。但取決於你對數據做什麼,你可能不需要。

如果您的服務中有一個包含該數據的屬性,並且組件與該數據綁定,那麼Angular的變更檢測將在數據更改時自動通知組件。

我這裏有一個簡單的例子:https://blogs.msmvps.com/deborahk/build-a-simple-angular-service-to-share-data/

+0

謝謝@DeborahK,這不會自動儘管權更新?我將不得不再次調用getValue()來更新值。通過行爲主題,我可以訂閱它並獲得實時更新。 – mattc19

+0

是的,它會自動更新,如果他們綁定。變化檢測就是這樣做的。 – DeborahK

相關問題