2016-10-31 3 views
0

У меня есть массив объектов, хранящихся в переменной области. Проблема в том, что пользователь обновляет страницу, она не сохраняет данные, поэтому я рассматриваю возможность использования файлов cookie.AngularJS сохранение массива объектов в cookie

переменного $ scope.Users хранит массив пользовательских объектов, и я использую следующий код, чтобы получить эти данные в кук:

if ($cookies.getObject('user_data') === '' || $cookies.getObject('user_data') === undefined)        
     $cookies.putObject('user_data',$scope.Users); 

Который не отображает какие-либо данные я использую

console.log ($ cookies.getObject ('user_data'))

и я ничего не получаю обратно, так что кажется, что putObject не сохраняет данные. Что здесь может быть не так? Может ли размер файла cookie превышать лимит?

Ранее я использовал следующие действия для получения этих данных с моей страницы HTML:

<tr ng-repeat="User in Users"> 
    <td>{{User.Name}}</td> 
    <td>{{User.ID}}</td> 
    <td>{{User.DOB}}</td> 
    <td>{{User.Status}}</td> 
    </tr> 

Мой вопрос заключается в том, как я получить массив из печенья и отобразить его содержимое? Также есть лучший способ сохранить массив объектов через обновление? Будет ли обслуживание работать лучше?

ответ

0

Убедитесь, что вы впрыснуть ngCookies как зависимость от модуля,

angular.module('cookiesExample', ['ngCookies']) 

Вы можете сделать это в контроллер,

Чтобы установить данные

$cookies.user_data = $scope.users;  

Для извлекать данные

$scope.Users= $cookies.user_data; 

HTML

<tr ng-repeat="User in Users"> 
    <td>{{User.Name}}</td> 
    <td>{{User.ID}}</td> 
    <td>{{User.DOB}}</td> 
    <td>{{User.Status}}</td> 
</tr> 

DEMO

+0

'$ cookies.put' не работал для меня при работе с объектами ... Также я начал использовать файлы cookie, потому что $ scope.users очищается каждый раз, когда пользователь обновляет страницу, поэтому мне нужно больше постоянного хранилища данных. – ElenaDBA

+0

@ ElenaDBA Проверьте демоверсию, также ваша угловая версия должна быть выше 1.4 – Sajeetharan

+0

Я использую угловой 1.5.8 – ElenaDBA

0

Я воссоздал свой сценарий без проблем. Какую версию $ cookie вы используете? Он должен соответствовать вашей угловой версии.

Что касается сохраняющихся данных, единственный вариант, о котором я могу думать, - это сохранить его на сервере. Служба не будет работать, так как обновление также очистит ее.

+0

Вот plunkr Я пробовал https://plnkr.co/edit/SPw4qtK9eaRK5hP4km0c?p=preview –

Смежные вопросы