2016-03-29 7 views
2

以下の2つの例は同等ですか?

1.

app.controller('ctrl',function($scope){}); 

2.

app.controller('ctrl',['$scope',function($scope){}); 

私はAngularJsに新たなんです。私のテストから、彼らは同じことをしますが、なぜ2つの異なる方法があるのか​​分かりません。

+1

は見てみましょう公式の角型開発者ガイド、特にhttps://docs.angularjs.org/guide/di#dependency-annotationこれは良い紹介ですすべての主要な概念に角度をつけて – Rhumborl

答えて

2

これらは同じように機能しますが、通常は2番目の方法が優先されます。これは縮小と、アプリを配布するときに変数名が配列内の項目でない場合に変更される可能性があるという事実と関係しています。

もちろん、小型化中にコントローラ名が変更された場合、Angularの依存性注入が失敗します。

1

これらは両方とも同等であり、正常に動作します。あなたは、あなたがあなたのプロジェクトでやっていることを計画していることに応じて、もう一方を選ぶかもしれません。主に、細分化のために、インライン配列注釈またはより一般的にはと呼ばれる2番目の表記を使用することが重要です。依存性注釈

依存性注入に関する詳細は、AngularJSのドキュメントhereを参照してください。

2

Dependency InjectionはJS縮小化する前にJSの縮小、

を行う際に使用された角度のjsの大きな特徴である:JS縮小化した後ctrl.js

app.controller('ctrl'['$scope','$rootScope','$state',function($scope,$rootScope,$state){ 
    $scope.message="Hello World"; //Must be maintain serial of Dependency Injection either wise show error 

     }); 

ctrl.min.js

app.controller('ctrl'['$scope','$rootScope','$state',function(a,b,c){ 
a.message="Hello World"; 
    //So do not write $scope again just define 'a' instead of '$scope' like as $rootScope=b,$state=c ,so huge memory save in JS file. 

    }); 
関連する問題