Angular2 +如何获取服务以检测其自身数据属性的更改?

时间:2019-05-02 16:14:51

标签: angular

我正在尝试在服务中添加观察者/观察者,以检测对服务中数据对象的任何更改。

背景信息-我正在使用的应用程序是订单向导。该服务包含多个组件使用的数据对象。客户信息表,交货信息表等

我正在尝试实现一个监视程序,该监视程序检测服务中数据的更改。然后将对象数据存储在会话存储中。

查看可观察对象,KeyValueChanges,KeyValueDiffers等,它们似乎在组件而不是服务上起作用。 ngOnChanges()似乎仅适用于组件。

尝试查看BehaviorSubject和事件发射器。行为主题有点令人困惑,因为我是angular2的新手。在angularJs中,它等效于$ root。$ watch(param,fn)

服务的简化版本

export class FormDataService {
  public Data = {
    customerData: {..}
    orderDetails: {..}
    financialDetails: {..}
  }

  public onChange = () => {
     //Store this.Data to session storage
  }
}

理想情况下,由于应用程序使用了几种不同的组件,因此将所有这些内容打包在服务中。

关于如何执行此操作的任何想法都很棒。谢谢

0 个答案:

没有答案