Angular订阅对象属性更改

时间:2018-05-27 23:48:36

标签: javascript angular

我有一项服务,其中包含一些数据:

@Injectable()
export class DataService {
  data = {
    a: [
      {label: 'label 1', checked: true},
      {label: 'label 2', checked: true},
      {label: 'label 3', checked: true}
    ]
  }
}

以及导入服务并使用data.a中的数据生成复选框的组件(checked属性指示每个复选框的初始状态)。用户选中并取消选中框后,DataService中的值会自动按角度更新。

还有另一个服务StorageService,它还会注入DataService,并且每次更改data.a属性时,都应自动将checked存储到浏览器的本地存储中。我无法弄清楚的是如何观察那些嵌套的单个对象属性的变化?

1 个答案:

答案 0 :(得分:0)

a是一些什么东西?数组,接口?

在您的服务StorageService中,您可以通过

访问数据
constructor(private _dataService : DataService  ){}

console.log(this._dataService.data.a[0].label);

如果这对您不起作用,请发布更多代码。