如何将 $resource 注入提供者?
How to inject $resource into provider?
我继承了以下代码,我需要将$resource注入到服务中。我是 AngularJS 的新手,并没有找到非常有帮助的文档。我尝试过的一切都失败了。有什么想法吗?
(function (angular) {
angular.module('myModule')
.provider('myService', [myServiceProvider]);
function myServiceProvider() {
...
}
谢谢。
您无权访问提供程序函数内的依赖项,因为 运行 在配置阶段。您可以通过在提供程序函数中注入 $injector 服务来获取它们。
但更好更简洁的方法是直接在提供程序 $get
函数中注入依赖项。
代码
(function (angular) {
angular.module('myModule')
.provider('myService', [myServiceProvider]);
function myServiceProvider() {
this.$get = function($resource){
//you could have access here to $resource
//create $resource object here and return it.
this.getData = function(){
return $resource('http://example.com/resource);
}
}
}
)();
我继承了以下代码,我需要将$resource注入到服务中。我是 AngularJS 的新手,并没有找到非常有帮助的文档。我尝试过的一切都失败了。有什么想法吗?
(function (angular) {
angular.module('myModule')
.provider('myService', [myServiceProvider]);
function myServiceProvider() {
...
}
谢谢。
您无权访问提供程序函数内的依赖项,因为 运行 在配置阶段。您可以通过在提供程序函数中注入 $injector 服务来获取它们。
但更好更简洁的方法是直接在提供程序 $get
函数中注入依赖项。
代码
(function (angular) {
angular.module('myModule')
.provider('myService', [myServiceProvider]);
function myServiceProvider() {
this.$get = function($resource){
//you could have access here to $resource
//create $resource object here and return it.
this.getData = function(){
return $resource('http://example.com/resource);
}
}
}
)();