0
我是angularjs的新手,我试图编写一个触发器来触发localStorage的变化并调用EuroPass服务之一。我发现触发器只会在第一次打开我的页面时触发,即使我在输入新数据(使用谷歌浏览器检查)时localStorage中的json发生了变化。这里是我的控制器:触发器看localStorage的变化不会在angularjs中触发
CVapp.controller('CVcontroller', ['$scope', '$http', '$window', function($scope, $http, $window){
$scope.CVjson = {};
$scope.$watch(function(){
return $window.localStorage.getItem('temporary.europass.ewa.skillspassport.v3');
}, function(newjson, oldjson){
$scope.CVjson = $window.localStorage.getItem('temporary.europass.ewa.skillspassport.v3');
console.log('change');
});
}])
我使用的console.log当变化发生和控制台提供了“改变”只在打开网页时发出警报。我希望对我做错的任何见解有所了解。非常感谢你。
我还没有打电话给任何外部服务,到目前为止一切都是本地的。目前我正试图在每次本地存储更改时触发触发器。 – Shema
我没有看到通过某些触发器/观察者进行本地存储更改跟踪的任何必要。这样的触发器会被多次调用。本地存储多久更换一次? – NechiK
很多时候。不过,我想知道为什么它不能正常工作。 – Shema