Я новичок в angularjs, и я пытаюсь написать триггер, который будет срабатывать при изменении localStorage и вызове одной из служб EuroPass. Я обнаружил, что триггер срабатывает только при первом открытии моей страницы, даже если мой json в localStorage меняется при вводе новых данных (проверено с помощью Google chrome inspector). Вот мой контроллер:
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');
});
}])
Я использую консоль.войти, чтобы получить предупреждение, когда изменение происходит, и консоль дает «изменить» только при открытии страницы. Я был бы признателен за любое понимание того, что я делаю неправильно. Большое спасибо.
Если локальный ключ хранения изменяется вами, то попробуйте использовать некоторый обратный вызов, который вызовет внешнюю службу.