【发布时间】:2016-07-09 19:22:18
【问题描述】:
我最近从 Angular 1 迁移到 Angular 2,并且在尝试检测对象属性的变化时经常遇到问题(以前通过 $watch 完成的事情)。
典型的用例是我将有一个可注入的服务来维护一段数据,例如一个包含设置的对象:
@Injectable()
export class SettingsService
{
_settings = {
'settingA' : true,
'settingB' : false
}
...
get settings()
{
return this._settings;
}
}
然后,我将在 Ionic 应用程序中拥有一个组件,例如设置页面,该组件将从设置服务获取设置:
constructor(private settingsService : SettingsService)
{
this.settings = settingsService.settings;
}
并直接将对象属性耦合到 UI 组件,例如 toggle。问题不是在每个切换更改事件上调用一个函数,服务或组件如何知道设置对象已更改以触发适当的操作,例如将设置保存到数据存储?
【问题讨论】:
标签: angular