0

私は AngularJS を初めて使いましたが、これは素晴らしいと思いました。

ただし、以前はjQueryを使用していたため、常に匿名の自己実行関数windowを使用してプライベート変数とメソッドにアクセスできないようにし、必要なもののみをDOM(グローバルオブジェクト)にエクスポートします。

そして、AngularJS チュートリアルを順を追って実行すると、すべてのコントローラー メソッドが DOM にエクスポートされていることがわかりました。

4

1 に答える 1

1

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 から離れてカプセル化されています。

于 2013-09-12T06:54:27.713 に答える