[英]Can't understand why my Angular Dependencies aren't resolving?
Why are my modules not available to the $injector service? 为什么我的模块不能用于$ injector服务? Console is reporting 'unknown provider' for both my baseHello
and geoHello
services. 控制台正在报告我的baseHello
和geoHello
服务的“未知提供程序”。 Obviously I have missed something fundamental, but for the life-of-me I can't see it! 显然,我错过了一些基本知识,但是对于我而言,我看不到它!
http://plnkr.co/edit/3Y0WeIH1dCkWKMhRJKnM?p=preview http://plnkr.co/edit/3Y0WeIH1dCkWKMhRJKnM?p=preview
/**Modules, we flesh these out below**/
angular.module('demo.services',[]);
angular.module('demo.directives',['demo.services']);
angular.module('demo',['demo.services','demo.directives']);
/**Application Module, Dependency on geoHello Service**/
angular.module('demo')
.controller('myCtrl',['$scope', 'geoHello',function($scope,geoHello){
$scope.test = geoHello.msg
}]);
/**Base Hello Service**/
angular.module("demo.services")
.factory("baseHello",function(r){
return{
'msg': 'Hello from ...'
}
});
/**Service With Dependency on baseHello**/
angular.module("demo.services")
.factory("geoHello",['baseHello',function(baseHello){
var msg = baseHello.msg.replace("...","world");
return{
'msg': msg
}
}]);
/**Directive With Dependency on geoHello**/
angular.module("demo.directives")
.directive('ngDemo',['geoHello',function(geoHello){
return{
'template': geoHello.msg
}
}]);
angular.bootstrap(document,['demo']);
There is an unresolved dependency (r) in your factory definition baseHello
您的工厂定义baseHello
有未解决的依赖项(r)
/**Base Hello Service**/
angular.module("demo.services")
.factory("baseHello",function(r){
return{
'msg': 'Hello from ...'
}
});
I think you have a typo in your code. 我认为您的代码中有错字 。 You have a dependency for the baseHello
service called r
which is not resolveable. 您有一个名为r
的baseHello
服务的依赖项,该依赖项无法解析。 It is not necessary as you do not seem to use it, so if you take it out then your code will run in your Plunker. 不必要,因为您似乎没有使用它,因此,如果将其取出,则代码将在您的Plunker中运行。
Before: 之前:
angular.module("demo.services")
.factory("baseHello",function(r){
return{
'msg': 'Hello from ...'
}
});
After: 后:
angular.module("demo.services")
.factory("baseHello",function(){
return{
'msg': 'Hello from ...'
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.