AngularFire2 观察者

AngularFire2 Observer

AngularFire2 文档演示了以下将观察者绑定到 Firebase 可观察对象的模式:

this.item = af.database.object('/item');

{{ (item | async)?.name }}

异步管道在组件销毁时取消订阅,但是使用以下模式替代的 advantages/disadvantages 是什么?并取消订阅生命周期挂钩 ngDestroy?

af.database.object('/item')
.subscribe(item => this.item = item)

{{ item?.name }}

优点:无需订阅即可直接显示列表到模板。它将节省您将它引用到 属性 的时间。这种模式不仅在 AngularFire2 中使用,而且在 Angular2 中也使用。这就是 Observable 的工作原理。

缺点:您无法操作其中的数据,因为您已经直接显示了它。如果你想改变一些属性,你需要使用管道来创建逻辑。