2013-02-23 3 views
5

Кажется, что нет никакой действительно четкой документации по использованию cookie с AngularJS, поэтому я немного потерял это.Angularjs cookie - Как использовать их через контроллеры

У меня есть два контроллера, один создает файл cookie и сохраняет идентификатор пользователя, а затем я хочу получить этот идентификатор позже, когда работает другой контроллер. Я думаю, что я успешно создал файл cookie и сохранил значение для id, однако, похоже, я не могу вернуть идентификатор из файла cookie во втором контроллере. Я получаю ошибку в моей консоли, когда я пытаюсь читать ID:

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 
    }; 
} 
+3

Могли бы вы использовать localStorage? – Greg

ответ

7

Принял ваш совет Грег и отправился вместо него в местное хранилище.

Для любого другого, имеющего проблемы и ищет подходящий подход, я использовал: https://github.com/grevory/angular-local-storage

Он деградирует изящно печенье, когда LocalStorage не доступен

Демо можно посмотреть здесь: http://gregpike.net/demos/angular-local-storage/demo.html

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

  • Нет связанных вопросов^_^