0

明示的に渡すことなく、コントローラー/ディレクティブ/サービスのすべての注入された引数にアクセスできる関数を定義するにはどうすればよいですか?

myShortHand = function(scope, http, element, url) {
    http.get(url).success(function (data) {
        element.html(data);
    });
}

function MyCtrl($scope, $http, $element) {
    $scope.name = 'Superhero';
    $scope.click = function() { myShortHand($scope, $http, $element, url); }
}

これは単純化された例であり、ボイラープレート コードの量を示しています。私の速記は実際には 4 つ$の引数を取り、速記の目的を無効にします! サービスを実際に使用できないことに注意してください。サービス$httpに注入できますが、 と同じインジェクターを使用する必要が$scopeあります。引数リストで依存性注入を使用し、呼び出されたインスタンスと同じインジェクターを使用できるコントローラーメソッドを (おそらくプロトタイプで) 定義する方法はありますか?$elementMyCtrl

4

1 に答える 1