【问题标题】:Access cookies in angularJs service在 angularJs 服务中访问 c​​ookie
【发布时间】:2013-01-27 23:35:47
【问题描述】:

我可以像这样成功访问控制器上的 cookie。

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

function RegisterCtrl($scope, $cookies) { }

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

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

我收到以下错误:ngCookiesProvider

关于为什么这不起作用以及我应该如何初始化一个访问 cookie 的服务有什么想法吗?

【问题讨论】:

    标签: javascript html angularjs cookies


    【解决方案1】:

    这就是我的类似代码的样子:

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

    【讨论】:

    • 关键是 app.js 中的 'ngCookies',然后是控制器/服务中的 $cookies。效果很好!
    【解决方案2】:

    对我来说这很有效:

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

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

    【讨论】:

    • 这并没有提供这个问题的答案。问题是关于在服务中访问 $cookies,而不是在控制器中。
    • @lin:您的观点部分有效。但我认为如果它在 Controller 中工作,它会在服务中工作得很好。我添加了我的答案,希望它能帮助一些面临与我类似问题的用户。
    • 不,您不能在服务、指令、控制器、工厂等中使用所有抽象。
    猜你喜欢
    • 2012-06-13
    • 2010-09-11
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-20
    • 2018-01-09
    相关资源
    最近更新 更多