簡體   English   中英

無法理解為什么我的Angular Dependency無法解決?

[英]Can't understand why my Angular Dependencies aren't resolving?

為什么我的模塊不能用於$ injector服務? 控制台正在報告我的baseHellogeoHello服務的“未知提供程序”。 顯然,我錯過了一些基本知識,但是對於我而言,我看不到它!

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 ...'
  }
});

我認為的代碼中有錯字 您有一個名為rbaseHello服務的依賴項,該依賴項無法解析。 不必要,因為您似乎沒有使用它,因此,如果將其取出,則代碼將在您的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM