Angularjs cookies - как их использовать на контроллерах
Похоже, что в AngularJS нет действительно четкой документации по использованию файлов cookie, поэтому я немного растерялся с этим.
У меня есть два контроллера, один создает cookie и хранит идентификатор пользователя, а затем я хочу получить этот идентификатор позже, когда работает другой контроллер. Я думаю, что я успешно создал cookie и сохранил значение для id, однако я не могу вернуть идентификатор из cookie во втором контроллере. Я получаю сообщение об ошибке в своей консоли, когда пытаюсь прочитать идентификатор:
TypeError: 'undefined' is not an object
PS: я работаю в Xcode, так как это в приложении ios для iPhone.
function firstCtrl($scope, $cookieStore) {
$scope.connectToFacebook = function() {
FB.api('/me', function(response, data, status, headers, config) {
var fbid=response.id;
$cookieStore.put('id', fbid);
console.log($cookieStore.get('id')); //This correctly displays the users FB id
});
}
}
function secondCtrl($scope, $cookieStore) {
$scope.submit = function() {
console.log($cookieStore.get('id')); // This is currently displaying: TypeError: 'undefined' is not an object
};
}
1 ответ
Прислушался к совету Грега и вместо этого отправился в местное хранилище.
Для всех, у кого возникли проблемы и которые ищут подходящий подход, я использовал: https://github.com/grevory/angular-local-storage
Изящно деградирует в куки, когда локальное хранилище недоступно
Демоверсия доступна здесь: http://gregpike.net/demos/angular-local-storage/demo.html