Javascript AngularJS将控制器方法导出到DOM

Javascript AngularJS将控制器方法导出到DOM,javascript,angularjs,Javascript,Angularjs,我是新来安格拉斯的,我发现它很棒 但是,由于我以前使用jQuery,并且我总是使用来保持我的私有变量和方法不可访问,所以只将所需的导出到DOM(全局窗口对象) 当我一步一步地跟踪时,我发现我所有的控制器方法都被导出到DOM,我想知道这是合理的还是可以避免的?AngularJS只在DOM上提供$scope元素。这也是使用插值或表达式的控制器 如果采用模块方法创建控制器,并在控制器内正确定义属性和方法。如果没有框架的帮助,它们无法在DOM中访问 在这种情况下,控制器应定义为 angular.modu

我是新来安格拉斯的,我发现它很棒

但是,由于我以前使用jQuery,并且我总是使用来保持我的私有变量和方法不可访问,所以只将所需的导出到DOM(全局
窗口
对象)


当我一步一步地跟踪时,我发现我所有的控制器方法都被导出到DOM,我想知道这是合理的还是可以避免的?

AngularJS只在DOM上提供
$scope
元素。这也是使用插值或表达式的控制器

如果采用模块方法创建控制器,并在控制器内正确定义属性和方法。如果没有框架的帮助,它们无法在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中封装