【问题标题】:AngularFire2 ObserverAngularFire2 观察者
【发布时间】:2017-06-22 07:24:36
【问题描述】:

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

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

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

当组件被销毁时异步管道取消订阅,但是使用以下模式的优点/缺点是什么?并在生命周期钩子ngDestroy退订?

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

{{ item?.name }}

【问题讨论】:

  • 我也有同样的问题。在我的测试中,除了样板之外,两者之间没有区别。异步管道看似订阅和取消订阅,但是,如果您需要在代码中处理订阅怎么办?在这种情况下,我觉得你必须手动描述。除非它是纯模板绑定,否则异步管道似乎没有帮助。我希望你得到答复

标签: angular firebase firebase-realtime-database angularfire2


【解决方案1】:

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

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

【讨论】:

  • + 优点:您不必取消订阅,因为 |异步管道会处理它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-20
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多