2016-05-05 2 views
3

У меня возникла проблема, когда кешированный объект не похож на правильные данные, поэтому я решил, что могу увеличить версию uptodate до кеша браузера, это решит мою проблему.Как обновить элементы localStorage?

Как вы обновите свой localStorage новым объектом? Поэтому, если бы у меня был контролер, у которого была обновлена ​​оценка. Как я могу подтащить этот объект оценки до localStorage?

+0

'localStorage.setItem()' не должен работать? – felipsmartins

ответ

3

Чтобы сделать это с родной JavaScript, вы могли бы сделать что-то вроде этого:

localStorage.setItem('itemKey', JSON.stringify(yourObject)); 
var item = JSON.parse(localStorage.getItem('itemKey')); 

В контексте угловой, вы должны сделайте службу localStorage как обертку вокруг localStorage и введите ее в свою службу или контроллер. Или вы могли бы придать $window и использовать его непосредственно от того, что, как: $window.localStorage

0

Если объект находится в формате JSON (не уверен, что Angular использует другой формат), вы, вероятно, можете использовать методы setItem() и getItem() для обновления и извлечения локальных элементов памяти!

В примере, взятом из следующего поста: http://thejackalofjavascript.com/storing-objects-html5-local-storage/

var me = {name:'myname',age:99,gender:'myGender'}; 
localStorage.setItem("user",me); 
//fetch object 
console.log(localStorage.getItem("user")); // will return "[object Object]" 
0

Вы можете использовать полнофункциональный Угловой модуль angular-local-storage

An AngularJS модуля, который дает доступ к браузерам локального хранения с печеньем запасного вариантом

набор

myApp.controller('MainCtrl', function($scope, localStorageService) { 
    //... 
    function submit(key, val) { 
    return localStorageService.set(key, val); 
    } 
    //... 
}); 

получить

myApp.controller('MainCtrl', function($scope, localStorageService) { 
    //... 
    function getItem(key) { 
    return localStorageService.get(key); 
    } 
    //... 
}); 
Смежные вопросы