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 모듈을 설치하고 당신이 코드를 보여줄 수있다 마십시오 $ 로컬 스토리지

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