2016-12-28 8 views
0

私はangularjsを初めて使用しています。localStorageの変更時に起動し、EuroPassサービスの1つを呼び出すトリガを作成しようとしています。私はlocalStorageの私のjsonが新しいデータを入力するときに変更されているにもかかわらず(Google Chromeの検査官でチェックされていても)、私のページを最初に開いたときにだけトリガが起動することを発見しました。ここに私のコントローラは、次のとおりです。localStorageの変更を監視するトリガがanglejsで発生しません

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

私はまだ外部サービスを呼び出す予定ではありません。現在、私はすべてのlocalStorageの変更に対してトリガーを起動させようとしています。 – Shema

+0

トリガー/ウォッチャーを使用してローカルストレージの変更を追跡する必要はありません。そのような引き金は何度も呼び出されます。どのくらいの頻度でローカルストレージが変更されますか? – NechiK

+0

かなり頻繁に。それでも、なぜそれが動作しないのだろうと思っています。 – Shema

関連する問題