我试图在每次更改时保存user.preferences,因此,user.preferences是一个App变量。
HTML
...
ng-controller="AppController as App"
...
在app.js上
vm.preferences = localStorage.preferences === undefined ? initialPreferences : JSON.parse(localStorage.preferences) ;
$scope.$watch('App.preferences',function() {
localStorage.preferences = JSON.stringify(vm.preferences);
});
子控制器CAN可以更改变量,但观察者不会触发。任何线索?提前致谢
答案 0 :(得分:1)
Google搜索了一下,如果您不想观看整个对象,则必须指定$watch
的第三个参数:objectEquality。
来自AngularJS文件:
使用angular.equals比较对象相等性,而不是比较参考相等性。
观看整个对象:
$scope.$watch('App.preferences',function() {
localStorage.preferences = JSON.stringify(vm.preferences);
},true);