角度工厂,服务和控制器不与$ Resource一起工作

时间:2015-06-11 03:13:31

标签: angularjs angular-resource

我有一个Angular服务,它只是我需要在控制器之间传递的变量的setter和getter:

  var MyApp = angular.module('MyApp', ['ngResource', 'ngRoute'])
    .service('userToken', function() {
      var userTokenProp;
      return {
        getter: function() {
          return userTokenProp;
        },
        setter: function(value) {
          userTokenProp = value;
        }
      };
    })

然后再下来我尝试根据该令牌的值在工厂中使用$ resource。还有另一个几乎完全相同的工厂可以设置令牌,但后一个工厂无法获得或使用令牌。我还需要在发出请求时将令牌发送到标头中。我所拥有的代码就是这个,我在尝试了许多其他方法将数据传递到工厂并在$ resource中设置标头后确定了一个表单:

.factory("apiQueryProfileFactory", function($resource, userToken) {
      console.log("token: " + userToken.getter());
      var uToken = userToken.getter();
      var resource = $resource('http://localhost:3001/lsportal/api/v1/profile/:path', {}, {
        get: {
          method: "GET",
          headers: {'token': uToken}
        },
      });
      return resource;
    });

然后从控制器(是的,通过工厂和服务):

apiQueryProfileFactory.get({path:'role'}, function(data) {

})

只是没有得到我失踪的东西,而且我已经反复了一段时间了!

0 个答案:

没有答案