所以我有以下控制器,我注入一个常量,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} }
});
}]);
谢谢!
答案 0 :(得分:7)
将您的Jobs $资源包含在另一个函数中:
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
}
答案 1 :(得分:2)
您还可以查看provide service API。
$provide.constant('APIKEY', 'theHash');
然后将其注入控制器和服务(例如,当您创建服务并将依赖项注入其中时)。