[英]Why aren't my angular controller's dependencies in scope inside one of its methods?
[英]Can't understand why my Angular Dependencies aren't resolving?
為什么我的模塊不能用於$ 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']);
您的工廠定義baseHello
有未解決的依賴項(r)
/**Base Hello Service**/
angular.module("demo.services")
.factory("baseHello",function(r){
return{
'msg': 'Hello from ...'
}
});
我認為您的代碼中有錯字 。 您有一個名為r
的baseHello
服務的依賴項,該依賴項無法解析。 不必要,因為您似乎沒有使用它,因此,如果將其取出,則代碼將在您的Plunker中運行。
之前:
angular.module("demo.services")
.factory("baseHello",function(r){
return{
'msg': 'Hello from ...'
}
});
后:
angular.module("demo.services")
.factory("baseHello",function(){
return{
'msg': 'Hello from ...'
}
});
請參閱此處以了解可用的柱塞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.