2017-06-29 30 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

相关问题