我正在尝试在服务中添加观察者/观察者,以检测对服务中数据对象的任何更改。
背景信息-我正在使用的应用程序是订单向导。该服务包含多个组件使用的数据对象。客户信息表,交货信息表等
我正在尝试实现一个监视程序,该监视程序检测服务中数据的更改。然后将对象数据存储在会话存储中。
查看可观察对象,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
}
}
理想情况下,由于应用程序使用了几种不同的组件,因此将所有这些内容打包在服务中。
关于如何执行此操作的任何想法都很棒。谢谢