2016-12-06 11 views
3

私は以前の質問に答えようとしていますが、関数パラメータとして$ parseでクラッシュしています。なぜ$ parseを認識できないのでしょうか?あなたは文字列形式で注入を指定する必要が

https://stackoverflow.com/a/29571230/1481314

.directive('elementReady', function ($parse) { 
      return { 
       restrict: 'A', 
       link: function ($scope, elem, attrs) { 
        elem.ready(function() { 
         $scope.$apply(function() { 
          var func = $parse(attrs.elementReady); 
          func($scope); 
         }) 
        }) 
       } 
      } 
     }); 
+0

エラーは何ですか?あなたは '' '['$ parse'、function($ parse){...}]' ''を使って配列形式の依存関係として指定しようとしましたか? –

+0

スクリプトを小さくしましたか? – devqon

+0

@devqonと同様に、スクリプトを小さくして、依存関係を入れなかったり、別の場所に注入したりすると、失敗するでしょう。 – ocespedes

答えて

0

。これはあなたのソースコードを醜いときにのみ必要です。

アプローチ1:使用という関数と手動指定注射

.directive('elementReady', elementReady) 

function elementReady($parse) { 
    ... 
} 
elementReady.$inject = ['$parse']; 

アプローチ3:使用NGアノテーションこの

を自動化するために角度注射
.directive('elementReady', ['$parse' function elementReady($parse) { 
    ... 
}]); 

アプローチ2を宣言するときにアレイ形式を使用

GRUNT:https://www.npmjs.com/package/grunt-ng-annotate

GULP:https://www.npmjs.com/package/gulp-ng-annotate/

関連する問題