为什么我的模块不能用于$ injector服务?控制台正在为我的baseHello
和geoHello
服务报告“未知提供商”。显然我错过了一些基本的东西,但对于我的生活,我看不到它!
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']);
答案 0 :(得分:2)
工厂定义baseHello
/**Base Hello Service**/
angular.module("demo.services")
.factory("baseHello",function(r){
return{
'msg': 'Hello from ...'
}
});
答案 1 :(得分:1)
我认为你的代码中有一个拼写错误。您对名为baseHello
的{{1}}服务具有依赖性,该服务无法解析。没有必要,因为你似乎没有使用它,所以如果你把它拿出来,那么你的代码将在你的Plunker中运行。
<强>之前:强>
r
<强>后:强>
angular.module("demo.services")
.factory("baseHello",function(r){
return{
'msg': 'Hello from ...'
}
});
有关正在使用的Plunker,请参阅here。