我的问题是下面给出的问题链接的扩展
can't get service instance from $injector.get()
var app = angular.module('myDI', []);
app.config(function($provide){
$provide.provider('greeting',function(){
this.$get = function(){
return function(name) {
console.log("Hello, " + name);
};
};
});
});
我们可以使用以下代码获取Service实例。
var injector = angular.injector(['myDI', 'ng']); //Add this line
var greeting = injector.get('greeting');
greeting('Ford Prefect');
var injector = angular.injector();
但是如果我在Service中添加依赖项,例如...
var app = angular.module('myDI', []);
app.config(function($provide){
$provide.provider('greeting',['$http','$q' function($http,$q){
this.$get = function(){
return function(name) {
console.log("Hello, " + name);
};
};
});
});
我们将如何使用角度喷射器获得服务实例。
非常感谢。
答案 0 :(得分:0)
这里有很多东西:
此处已更正,在上面我添加了一种配置您的提供程序的方法。 您可以通过以下插件访问它:http://jsbin.com/yajomecoxi/edit?js,console
var app = angular.module('myDI', ['ng']);
app.provider('greeting',function(){
var greetingToUser="Hello, ";
this.setGreeting=function(greet){
greetingToUser=greet;
}
this.$get = ['$http', '$q', function($http, $q){
return function(name) {
console.log(greetingToUser + name);
};
}];
});
app.config(['greetingProvider',function(greetingProvider){
greetingProvider.setGreeting("welcome to you ");
}])
var $injector = angular.injector(['myDI']);
var greeting = $injector.get('greeting');
greeting("sfgsdfg");
查看有关这些链接的更多信息: