これら 2 つの違いは何ですか?
の後は、渡されるパラメーターに順序や数量の要件はありません。 function
function
'$rootScope','$scope','$http'
に渡される変数を指定することであり、2 番目の方法は単純な変数名です function 的变量用字符串 '$rootScope','$scope','$http'。
するからです。function($rootScope,$scope,$http) 里的 $rootScope,$scope,$http 混淆压缩掉, 比如换成了 function(a,b,c)
function($rootScope,$scope,$http)
$rootScope,$scope,$http
function(a,b,c)
に渡されるのかを認識できなくなり、インポートされて圧縮された後は実行できなくなります。function
これらは、Angular 依存性注入の 2 つの方法です: 1 つ目はインライン注入、2 つ目は推論注入 (明示的な注入もあります) 違いは インライン注入: 関数が実行されるときに行内から開始できるようにします定義されているパラメータを渡します。さらに、定義中に一時変数を使用する必要がなくなります。 推論注入: 明示的な宣言がない場合、Angular はパラメーター名が依存関係の名前であると想定しますが、Angular は解析に元の非圧縮パラメーター リストを必要とするため、このプロセスは非圧縮および難読化されていないコードにのみ適用されます。 (ただし、パッケージ化プロセスに gulp-ng-annotate を導入して、推論注入をインライン注入に変換することができます)
Angularの依存関係注入方法を読むことをお勧めします
の後は、渡されるパラメーターに順序や数量の要件はありません。
最初の方法は、文字列function
'$rootScope','$scope','$http'
を使用してに渡される変数を指定することであり、2 番目の方法は単純な変数名です
js圧縮ツールがfunction
的变量用字符串'$rootScope','$scope','$http'
。するからです。
コードが難読化されて圧縮されると、angular はどのパラメーター (または依存関係) がfunction($rootScope,$scope,$http)
里的$rootScope,$scope,$http
混淆压缩掉, 比如换成了function(a,b,c)
に渡されるのかを認識できなくなり、インポートされて圧縮された後は実行できなくなります。
function
これらは、Angular 依存性注入の 2 つの方法です:
1 つ目はインライン注入、2 つ目は推論注入 (明示的な注入もあります)
違いは
インライン注入:
関数が実行されるときに行内から開始できるようにします定義されているパラメータを渡します。さらに、定義中に一時変数を使用する必要がなくなります。
推論注入:
明示的な宣言がない場合、Angular はパラメーター名が依存関係の名前であると想定しますが、Angular は解析に元の非圧縮パラメーター リストを必要とするため、このプロセスは非圧縮および難読化されていないコードにのみ適用されます。 (ただし、パッケージ化プロセスに gulp-ng-annotate を導入して、推論注入をインライン注入に変換することができます)
Angularの依存関係注入方法を読むことをお勧めします