2017-09-06 1 views
-2

로컬 데이터를 저장하는 데 jstorage를 사용하고 있는데, 로컬 저장소 데이터가 변경되면 자동으로보기를 업데이트해야하는 javascript 라이브러리가 html 페이지에 표시됩니다. 나는 모서리를 묶었지만 내가 따라야 할 모범을 찾을 수 없었다.업데이트 HTML 목록 실시간

+0

, 당신은 무엇을 게시하고 사람들이 좀 걸릴 것입니다. – Ian

+0

저장소 [mdn]에 대한 수신기가 있습니다 (https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API) –

+2

localStorage가 자체적으로 변경되지 않습니다. 그 가치를 갱신해야 할 것이므로, 변화를 주시 할 필요가 없습니다. 값을 업데이트 할 때마다 뷰 새로 고침이 트리거됩니다. 그리고 cou가 Angular 예제를 찾을 수 없다고 했습니까? 인터넷 에서요? –

답변

0

각도를 사용하는 경우 localStorage의 변경 사항에 대해 $watch을 변경하고 모델을 업데이트 할 수 있습니다. 이 같은

뭔가 : 당신은 데이터 바인딩을 찾고

angular.module('app', []).controller('ctrl', function($window, $scope, $window) { 
    $scope.$watch(function() { 
    return $window.localStorage.data; 
    }, function(n) { 
    console.log('local storage changed'); 
    $scope.dataFromLS = n; 
    }); 

    $scope.storeOnLS = function() { 
    $window.localStorage.data = $scope.valueToStoreOnLS; 
    }; 
}); 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 

<div ng-app="app" ng-controller="ctrl"> 
    {{dataFromLS}}<br /> 
    <input ng-model="valueToStoreOnLS" /><button ng-click="storeOnLS()">Save on LS</button> 
</div> 

Working demo

+0

변경 사항을 감시하는 대신 localStorage를 업데이트 할 때마다 뷰 새로 고침을 트리거하는 방법은 무엇입니까? 그것은 감시자가 한 명 줄어들 것입니다. –

+0

어떻게 각도로 뷰 새로 고침을 트리거합니까? 필요하다면 –

+0

'$ scope.apply()'가 필요하지만 뷰는 자동으로 새로 고쳐 져야합니다. –