2013-02-12 14 views
5

Ich kann erfolgreich Cookies auf meinem Controller wie folgt zugreifen.Zugriff auf Cookies im eckigen Service

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

function RegisterCtrl($scope, $cookies) { } 

Aber wenn ich versuche, Cookies in einem Dienst wie diesem zu verwenden.

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

bekomme ich folgende Fehlermeldung: ngCookiesProvider < - ngCookies < - current.

Irgendwelche Gedanken darüber, warum dies nicht funktioniert und wie ich einen Dienst mit Zugriff auf Cookies initialisieren sollte? Diese

Antwort

9

ist, was wie mein Code für etwas ähnliches Aussehen:

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

Der Schlüssel ist 'ngCookies' in app.js und dann $ Cookies in Controller/Dienste. Funktioniert super! –

1

Für mich dieses arbeitete:

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

Anstelle der Verwendung von ngCookies Ich verwende $cookies. Ich schaute auf diese example aber irgendwie war es Wurf Fehler Unknown provider: ngCookiesProvider <- ngCookies

+0

Dies gibt keine Antwort auf diese Frage. Bei der Frage geht es um den Zugriff auf $ cookies in einem Service, nicht in einem Controller. – lin

+0

@lin: Ihr Punkt ist teilweise gültig. Aber ich denke, wenn es in Controller funktioniert, wird es im Service gut funktionieren. Ich fügte meine Antwort hinzu, hoffend, dass es einigen Benutzern helfen wird, denen ähnliches Problem wie meins gegenübersteht. – SharpCoder

+0

Nein, Sie können nicht alle Abstracts in einem Service, einer Richtlinie, einem Controller, einer Fabrik usw. verwenden. – lin

Verwandte Themen