角度4 - 可观察/数组或可观察/主题

时间:2017-09-22 13:19:03

标签: angular

在我的项目中,我们使用数组和Observables在服务中操作和存储数据。我们创建这样的可观察量:

Observable.of(array)

然后我们只在添加/ remove / etc元素时更新数组。

在我们的组件中,我们只使用observable并使用异步过滤器。

我想知道这是不是很好,因为即使在Angular的文档中,他们也建议使用Observable和Subject的组合,而不是Observable和Array。

为什么使用Subject更好?性能有差异吗?

由于

1 个答案:

答案 0 :(得分:0)

Observable和Subject是不同的。我没有看到将数组转换为observable的好处,以便您可以使用异步管道,因为如果您在没有异步管道的情况下直接在模板中使用数组并且不将其转换为可观察数据,它将正常工作。

根据定义,主题既是可观察者又是观察者,这意味着您可以读取和写入值。一个可观察的,你只能从中读取值。您在使用Observable.of()时所做的就是每次都要创建一个新的observable。

使用主题,您可以使用mySubject.next('新值')传递/发出新值,然后您可以订阅这些值,就像使用mySubject.subscribe可观察到的那样( )。

所以一个并不比另一个好,它们只是出于不同的目的。