2013-02-12 105 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