2016-07-06 4 views
0

別のブラウザウィンドウを閉じると、特定のブラウザウィンドウで角度js watchをトリガする必要があります。私はsessionStoragelocalStorageを使用してメッセージを保存し、ウォッチを使用しましたが機能しませんでした。なにか提案を?別のブラウザウィンドウを閉じたときに特定のブラウザウィンドウで角度jsウォッチをトリガする方法

例:

//First controller in browser window 1. Listen for the event: 

    $scope.$watch(function() { 
      return localStorage.composeTransferDatas; 
     }, function (newVal, oldVal) {   
      if(newVal != oldVal){ 
       console.log('Hi');    
      } 
     }, true); 


//Second controller in browser window 2. Save data in localStorage: 

    var arrayWindows = JSON.parse(localStorage.composeTransferDatas); 
    arrayWindows['test'] = {data : data, type: type}; 
    localStorage.composeTransferDatas = JSON.stringify(arrayWindows); 
    $window.close(); 

最初のコントローラ内の時計がトリガされたことを期待、それはしませんでした。ただし、localStorageは実際に変更されます。

+0

と同じコードを使用する必要がありますあなたが示すことができる任意のコードを持っていますか? –

+0

私はすでに質問を更新しています。あなたは何か考えていますか? –

+0

私は時計があなたのlocalStorageを見ることができるとは思わない、それは&scopeにのみバインドされているからです。 localstorageにバインドする方法を見つけることができるかどうか確認してみましょう –

答えて

0

あなたはngStoageモジュールをインストールし、$のlocalStorage

$scope.$watch(function() { 
      return $localStorage.composeTransferDatas; 
     }, function (newVal, oldVal) {   
      if(newVal != oldVal){ 
       console.log('Hi');    
      } 
     }, true); 
関連する問題