繁体   English   中英

如何使用 angular 中的可观察对象在两个组件之间共享对象数组?

[英]How can I share an array of objects between two components using observables in angular?

我是可观察的新手。 谁能告诉我如何使用 Angular 中的可观察对象设置和获取对象数组并在两个组件之间共享它。

谢谢

由于您要询问可观察对象,我假设您的两个组件不是父组件和子组件,因此输入和输出不是您要寻找的。

要在这样的组件之间共享数据,您需要一项服务,您可以简单地生成一个
ng generate service nameOfYourService

然后,您可以将该服务添加到组件的构造函数中,并且依赖注入将为两者提供相同的服务实例(这是默认行为)。

所以基本上以这种方式已经可以共享数据,如果你在该服务中放置一个数组,两者都可以简单地将该数组作为服务的一个字段读取,所以你不需要 observables。

您可以将数组存储在SubjectBehaviousSubject中,它基本上将您的数组包装在一个 observable 中,您可以通过调用其方法next(newValue)来更新其值,您可以通过订阅( subscribe )Subject 来收听该值。

这是一个非常非常简单和基本的解释,有很多替代方案,您可以根据您想要/需要实现的目标来使用(从您的问题来看,这并不是很清楚)。


我强烈建议您更好地研究服务和可观察对象,英雄的服务部分之旅应该对您有很大帮助(并且它确实显示了如何共享包含在可观察对象中的数组): https://angular.io/tutorial /toh-pt4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM