【问题标题】:Angular 2 share/change data got from HTTP service between componentsAngular 2 共享/更改从组件之间的 HTTP 服务获得的数据
【发布时间】:2017-04-02 12:24:15
【问题描述】:

我必须开发一个 Angular 2 应用程序,其中我有一个 HTTP 服务,它的响应是这样的 JSON 对象:

plan = {ID: 'planID', installmentsNumber: 10, rate: 5}

我需要在更多组件之间共享这些数据,并让每个组件捕获每个更新。

哪种方法最好?

更新(2016 年 11 月 23 日)

我使用 Observable 开发了我的应用程序,如下面的 plunk 所示: https://plnkr.co/edit/0k0jr8KrJfFKeNkIV6So?p=info

解决了。谢谢大家。

【问题讨论】:

  • 您应该阅读angular.io 而不是专注于代码。在使用您选择的框架之前了解重要的模式。
  • 你检查我的答案了吗?
  • @VassilisPits 是的,我检查并尝试使用 Observables 开发我的应用程序,但我遇到了其他问题,我将尝试在更新我的问题时进行回顾。你能检查一下吗?
  • 好吧,我想这必须是一个单独的问题@B.Ciervo。如果此答案对您有帮助或向您展示了您应该接受它的方式,如果没有,则不是。如果可以的话,我会在你的新问题中参与回答。公平竞争;)
  • 好的,对不起,我是 StackOverflow 的新手,我会提出一个单独的问题;)。

标签: http angular data-binding


【解决方案1】:

您应该使用RxJs Observable 库来解决这个问题。 由于您的问题很广泛,而且您还没有分享一个工作示例,我建议您阅读以下博客文章:

如何使用 Observable Data Services 构建 Angular 2 应用 http://blog.angular-university.io/how-to-build-angular2-apps-using-rxjs-observable-data-services-pitfalls-to-avoid/ 带有 Observables 的 Angular 2 HTTP 请求 https://scotch.io/tutorials/angular-2-http-requests-with-observables

我更喜欢BehaviourSubject,因为您可以轻松初始化它并设置默认状态。

【讨论】:

  • 我认为在 RxJs 之前首先要提到的是他需要一个工厂。如何与组件同步是另一回事。 RxJs 非常(非常非常非常)方便,但一个简单的工厂就可以做到。
  • @Maxime factory 是什么意思。在 angular2 中没有像 1.x 版本那样的工厂。我误会你了吗?
  • 不抱歉,是我,我是说服务!
  • 但他只是在问题上告诉他已经有服务了。
猜你喜欢
  • 2017-11-06
  • 1970-01-01
  • 2017-04-15
  • 2020-06-18
  • 1970-01-01
  • 2023-01-23
  • 2019-08-03
  • 2017-10-01
  • 2019-08-04
相关资源
最近更新 更多