我是angularjs的新手,我正在尝试编写一个触发器,它将触发localStorage更改并调用其中一个EuroPass服务。我发现触发器只在第一次打开我的页面时触发,即使我输入新数据(使用谷歌浏览器检查员检查)后我的localStorage中的json也会被更改。这是我的控制器:
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在更改发生时收到警报,并且控制台仅在打开页面时提供“更改”。我很欣赏任何有关我做错事的见解。非常感谢你。
答案 0 :(得分:0)
如果本地存储密钥由您更改,则尝试使用一些将调用外部服务的回调。