我试图从这样的服务内部访问$ cookieStore($cookieStore.get("username")):

var angServices = angular.module('angServices', ['ngResource', 'ngCookies']);
angServices.factory('rsrUser', [ '$resource',
  function($resource, $cookieStore){
    var req = "/login"
    var timestamp = getMicrotime(true).toString();
    var username = $cookieStore.get("username");
    return $resource(baseURL + req, {}, {
      logIn: {method:'POST',
              isArray:false,
              headers:{
                  'X-MICROTIME': timestamp,
                  'X-USERNAME': username,
                  'X-HASH': getHMAC(timestamp, req)
                }
            }
    });
  }]);

但这返回TypeError: Cannot call method 'get' of undefined
我是在做错什么,还是有更好的理由做到这一点?

最佳答案

您正在使用带注释的注入(inject),但没有为cookie存储提供注释。

var angServices = angular.module('angServices', ['ngResource', 'ngCookies']);

// Add $cookieStore to the array,             here --\
angServices.factory('rsrUser', [ '$resource', '$cookieStore'

  function($resource, $cookieStore){
    // the same
  }
}]);

关于javascript - 是否可以从angularjs中的服务访问$ cookieStore?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22330578/

10-12 20:29