2016-04-27 13 views
0

角度は、いくつかのケースでは、それは自動的に値を持つパラメータと一致しようとした機能を持っています。 IE:パラメータパターンマッチングを無効にすることはできますか?

angular.module("foo").controller(function($scope){ 
    //Angular will automatically fill in the value of $scope 
} 

これはもちろん、縮小構文を使用するときに問題になります。そのため、配列構文を使用しています。

それはしかし角度のこの機能を無効にすることは可能ですか?私は最近、私のコードの一部はunminified形で働いていたバグがあったが、縮小さに失敗し、根本的な原因が予期せず、自動充填角度でされていた変数になってしまったので、私は尋ねます。

私はすべての私のコードがある(あるいは少なくとも必要があります)私は、他の隠されたバグを強制できるように、この機能を無効にしたい配列の構文を使用して書かれることを知っているので。

答えて

2

はい、それが有効になって厳格な依存性の注入明示的な注入と呼ばれています:私はすべての私のコードは(であることを知っているので

function SomeController($scope){ 
     //Angular will automatically fill in the value of $scope 
    } 

    SomeController.$inject = ["$scope"]; 
    angular.module("foo").controller("SomeController", SomeController); 

angular.module("foo").controller("SomeController", ["$scope", function($scope){ 
    //Angular will automatically fill in the value of $scope 
}]); 

...かあるいは少なくとも) 配列構文を使用して書くべき私はこの機能を無効にしたいと思い、私はをできるように、は、他の隠れたバグを強制終了します。

厳密依存性注入を使用して自動パラメータマッチングを無効にすることができます。彼は、パラメータマッチングを無効にする方法を求めていたとして、彼が求めていたものを、本当にない

angular.bootstrap(document, ['myApp'], { 
    strictDi: true 
}); 
+1

<div ng-app="myApp" ng-strict-di> <!-- your app here --> </div> 

...か:より詳細な情報を入手するために角度のproduction guideを参照してください。 – mccainz

+0

@mccainzこれは明示的な注射がするものです。自動パラメータマッチングを無効にする –

+0

@mccainzが述べたように、私はすでにこの構文を知っていて、私はそれを私の質問で言及しました。私が探している私の更新を参照してください@DavidGrinberg配列 –

関連する問題