![](/img/trans.png)
[英]Angular2 - Invalid provider error when injecting service into service
[英]Angular, injecting own service into provider
因此,我正在与提供者合作,并在$ get中注入一些angular的$ log和$ location服务,以便与他们合作,这很好。 但是,当我想将自己的服务注入提供程序时,它似乎不起作用。
这就是我的意思-我可以像这样在提供程序中注入有角的$ log和$ location
this.$get = $get;
$get.$inject = ['$log', '$location'];
function $get( $log, $location) {
return {
setModule: function(name, cb) {
},
getModules: function() {
}
}
}
但是,我下面有一项服务
.service("myService",function(){
this.sayHello = function() {
return "Hello, World!"
});
并尝试像
$get.$inject = ['myService', '$log', '$location'];
function $get(myService, $log, $location) {
当我在提供程序中调用myService时,它未定义返回。
有什么理由可以调用angular($)而不是我自己的东西注入提供程序吗?
谢谢!
编辑:因此,在我注入后,我尝试在$ get之类的地方使用它
$get.$inject = ['myService', '$log', '$location'];
function $get(myService, $log, $location) {
return {
test: function(){
console.log(myService);
}
}
返回未定义
1)将$ injector作为依赖项传递给控制器['$ injector']
2)调用$ injector.get通过名称实例化服务
$ scope.service = $ injector.get(服务名);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.