2013-02-12 66 views
5

我可以像这样成功访问我的控制器上的Cookie。在角度服务中访问Cookie

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

function RegisterCtrl($scope, $cookies) { } 

但是,每当我尝试在这样的服务中使用cookie时。

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。很棒! – 2017-08-08 12:42:11

1

对于我这样的工作:

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

而不是使用ngCookies我使用$cookies。我看着这example,但不知何故它抛出错误Unknown provider: ngCookiesProvider <- ngCookies

+0

这不能解决这个问题。问题是关于在服务中访问$ cookie,而不是在控制器中访问。 – lin 2015-05-10 16:05:20

+0

@lin:您的观点部分有效。但是我认为如果它在Controller中起作用,它将在服务中运行良好。我添加了我的答案,希望它能帮助一些正在面临类似问题的用户。 – SharpCoder 2015-05-11 09:44:15

+0

不可以,你不能在服务,指令,控制器,工厂等中使用所有的摘要。 – lin 2015-05-12 06:31:04