2016-03-31 3 views
2

私はユーザーに依存して遅延読み込みモジュールです。そして、モジュールでロードされているディレクティブのデコレータを宣言することを忘れました。しかし、私は指示を飾ろうとすると、不明なプロバイダを取得しています。

angular.module(moduleName).config(function ($provide) { 
    var invokeQueue = angular.module(moduleName)._invokeQueue; 
    invokeQueue.forEach(function (service) { 
     if(service[1] === 'directive'){ 
      var directive = service[2][0]; 
      $provide.decorator(directive, function ($delegate) { 
       return $delegate; 
      }) 
     } 
    }); 
}); 

var指令が指令名で設定されています。

エラー

[$インジェクター:UNPR]不明プロバイダ:私は、サービスや工場を取るためにコードを変更した場合demoDirectiveProvider

ではなく、それが動作します。以下の作品

if(service[1] === 'service') 
if(service[1] === 'factory') 

ディレクティブ

答えて

3

このwan't作業は「指令」と接尾辞れる角度ディレクティブ名が判明する理由に何か提案の

両方。

angular.module(moduleName).config(function ($provide) { 
    var invokeQueue = angular.module(moduleName)._invokeQueue; 
    invokeQueue.forEach(function (service) { 
     if(service[1] === 'directive'){ 
      var directive = service[2][0]; 
      console.log(directive); 
      $provide.decorator(directive+'Directive', function ($delegate) { 
       return $delegate; 
      }) 
     } 
    }); 
}); 
+0

ハ!私は、 "指令"接尾辞は、人々がその例に使用していたコンベンションだと思っていました。いいえ、必要です。ありがとう。 – user2864598

関連する問題