私は最近、AngularJSで作業を始めました。基本的なことが分かりましたが、私が見てきた例では、2つの異なるアプローチを見つけました。
プライベート変数や関数を作る:
function myController(){
var controller = this;
controller.myVar = 0;
controller.myFunction = function(){...};
}
と$スコープを介してそれらを公表する:
function myController(){
$scope.myVar = myVar;
$scope.myFunction = function(){...}
}
私はプライベートなものを作る必要性を理解することができますが、変数と関数を公開しますそれらの事例ではSingle Responsability Principleが壊れているように感じるので、公衆が私に加わるわけではありません。
パブリックなものを公開する理由はありますか?何かを公開する代替手段はありますか?または私はあまりにも心配ですか?
2ウェイデータバインディングを使用する場合は、 '$ scope'を使用します。 DOMを明示的に読み込み/更新したくない場合です。 – Tushar
ここで見つけた情報の中で最良の情報http://stackoverflow.com/questions/11605917/this-vs-scope-in-angularjs-controllers –