2013-02-12 3 views
5

Я могу успешно использовать файлы cookie на моем контроллере.Доступ к файлам cookie в угловом сервисе

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

function RegisterCtrl($scope, $cookies) { } 

Но всякий раз, когда я пытаюсь использовать куки-файлы в таком сервисе.

angular.module('mobbr.services', []); 
angular.module('mobbr.services').factory('currentUser', [ 'ngCookies', function ($cookies) {}]); 

Я получаю следующее сообщение об ошибке: ngCookiesProvider < - ngCookies < - CurrentUser.

Любые мысли о том, почему это не сработает, и как я должен инициализировать сервис с доступом к файлам cookie?

ответ

9

Это то, что мой код что-то похожее выглядит так: работал

angular.module('app.MyData', ['ngResource','ngCookies']). 
    factory('MyService', function($resource, $http, $cookies) { 
     ... 
    }) 
+0

Ключ «ngCookies» в app.js, а затем $ cookie в контроллерах/службах. Прекрасно работает! –

1

Для меня это:

module.controller('myCtrl', ['$scope', '$cookies', 
     function($scope, $cookies) { 
      ........... 
     } 
    ]); 

Вместо использования ngCookies Я использую $cookies. Я посмотрел на это example, но почему-то это метало ошибку Unknown provider: ngCookiesProvider <- ngCookies

+0

Это не дает ответа на этот вопрос. Вопрос заключается в доступе к $ cookie в службе, а не в контроллере. – lin

+0

@lin: Ваша точка частично действительна. Но я думаю, что если он будет работать в контроллере, он будет работать в сервисе. Я добавил свой ответ, надеясь, что это поможет кому-то, кто сталкивается с подобной проблемой, как моя. – SharpCoder

+0

Нет, вы не можете использовать все тезисы в службе, директиве, контроллере, фабрике и т. Д. – lin

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