2016-02-20 11 views
0

Я использовал $cookies от ngCookies для хранения массива объектов, но когда я обновляю браузер, длина данных возрастает и больше не доступна в виде массива.AngularJS: cookie fail при обновлении браузера

Я искал в сети и нашел cookieStore еще в пределах ngCookies Я использовал его, и он работает отлично, поэтому я задаюсь вопросом, что может быть неправильным с cookies. Ниже приведены коды, которые я пробовал.

//Used this to in the run method to check if cookie exist 
$rootScope.cart = $cookies.get('cart') || []; 

//On button click I run the code below which fails after browser refresh 
$rootScope.cart.push(response.data); 
$cookies.put('cart', $rootScope.cart); 

PS: Я новичок в angularjs

+0

, что является проблемой вы столкнулись с? можете ли вы предоставить код, который вызвал «когда я храню массив объектов в файлах cookie и обновляю браузер, длина массива становится очень большой» - кажется, это была проблема? – shershen

+0

@shershen код, который я разместил над ним, что работает, когда я запускаю свое приложение –

+0

@shershen извините начальный код Размещено есть то, что в настоящее время работает для меня, я отредактировал и добавил код, который сбой –

ответ

1

Другим способом решения проблемы заключается в использовании плагина angular-local-storage.

Он может обрабатывать как гораздо более современный LocalStorage/SessionStorage и до сих пор есть печенье в качестве запасного варианта - https://github.com/grevory/angular-local-storage

И это имеет удобный и настраиваемый API:

//set value 
localStorageService.set(key, val); 
//read value 
localStorageService.get(key); 
//list all 
localStorageService.keys(); 
+0

Спасибо, человек, но я действительно хочу знать, почему $ cookies ведут себя таким образом, я уже использовал $ cookieStore, и он отлично работает, но $ cookie не делает –