如何将 Angular.js 控制器中的参数传递给资源



所以我有以下控制器,我在其中注入了一个常量APIKEY。

myApp.controller('JobsCtrl', ['$scope', 'Jobs', 'APIKEY', function($scope, Jobs, apiKey) {
  var promise = Jobs.query().$promise;
  // do more awesome programming
}

我想将 apiKey 传递给以下服务,但一辈子都不知道该怎么做。

myApp.factory('Jobs', ['$resource', function ($resource) {
  return $resource('/someurl/:id', {id:'@id'}, {
    query: { method: 'GET', headers: {'Authorization': apiKey} }
  });
}]);

谢谢!

作业$resource包装在另一个函数中:

myApp.factory('Jobs', ['$resource', function ($resource) {
  return function(apiKey){
    return $resource('/someurl/:id', {id:'@id'}, {
      query: { method: 'GET', headers: {'Authorization': apiKey} }
    });
  }
}]);
myApp.controller('JobsCtrl', ['$scope', 'Jobs', 'APIKEY', function($scope, Jobs, apiKey) {
  var promise = Jobs('MY_KEY').query().$promise;
  // do more awesome programming
}

您还可以查看提供服务 API。

$provide.constant('APIKEY', 'theHash');

然后将其注入控制器和服务(例如,当您创建服务并将依赖项注入其中时)。

最新更新