2017-08-01 13 views
-3

アレイは必要ですか?AngularJs依存性注入差

app.controller('myController', ['$scope', function($scope){ 

}]) 

これは上のコードのように機能しますか?

app.controller('myController', function($scope){ 

}) 

答えて

1

アレイは常に必要ですが、コントローラー定義に組み込む必要はありません。それを行うためにはるかにクリーンな方法があり、私の好ましい方法です。私がしていることは、機能的な方法でコントローラを作成することです。したがって、たとえば:

app.controller('myController', MyController); 

//dependency injection done here using the array of definitions 
MyController.$inject = ['$scope']; 

//all of the dependencies are added as parameters into the controller function 
function MyController ($scope) { 
    //insert controller code 
} 

回答として指摘されているように、これは明示的な方法と呼ばれています。あなたは、コードをよりきれいにして維持しやすくするために、Angular 1チームによって承認されたthis style guideをチェックしてください。

1

はい、それはそのわずかdifference.Youがexplicit依存性注入(第二の方法)を使用する必要があり、同じように動作します。

$ scopeを変数aに、$ httpを変数bに変換する場合でも、それらのIDは文字列に保存されます。

+0

ありがとう!私は明示的な依存性注入を使用したことがないので、単純な質問でした –