私は AngularJS を初めて使いましたが、これは素晴らしいと思いました。
ただし、以前はjQueryを使用していたため、常に匿名の自己実行関数window
を使用してプライベート変数とメソッドにアクセスできないようにし、必要なもののみをDOM(グローバルオブジェクト)にエクスポートします。
そして、AngularJS チュートリアルを順を追って実行すると、すべてのコントローラー メソッドが DOM にエクスポートされていることがわかりました。
私は AngularJS を初めて使いましたが、これは素晴らしいと思いました。
ただし、以前はjQueryを使用していたため、常に匿名の自己実行関数window
を使用してプライベート変数とメソッドにアクセスできないようにし、必要なもののみをDOM(グローバルオブジェクト)にエクスポートします。
そして、AngularJS チュートリアルを順を追って実行すると、すべてのコントローラー メソッドが DOM にエクスポートされていることがわかりました。
AngularJS は、$scope
要素を DOM で使用できるようにするだけです。それも、補間または式のいずれかを使用するコントローラーであり、
モジュール アプローチを使用してコントローラーを作成し、コントローラー内でプロパティとメソッドを正しく定義する場合。フレームワークの助けがなければ、DOM 内でアクセスすることはできません。
この場合、コントローラーは次のように定義する必要があります。
angular.module('MyModule')
.controller('MyCtrl',function(['$scope',function($scope){
$scope.myVar=1;
$scope.myFunction=function() {}
var myPrivatevar=2;
var myPrivateFunction=function() {}
}]));
HTML では、myVar
とのみmyFunction
が直接補間または式バインディングのために公開され、それ以外のものは DOM から離れてカプセル化されています。