AngularJS 中的控制器初始化

Controller initialization in AngularJS

<html>
      <body>
           <div ng-controller="TestController">
                 Framework is {{name}}
           </div>
      </body>
</html>

我正在脚本中手动将上面的 html 代码片段制作成 angular。

var app = angular.module('TestModule',[]);
angular.bootstrap(document, app);

我想知道以下两种初始化控制器的区别,优缺点。

模型 1:

var app = angular.module('TestModule',[]);
app.controller('TestController',function($scope){
     $scope.name="Angualar";
});
angular.bootstrap(document, app);

型号 2:

var app = angular.module('TestModule',[]);
window['TestController'] = function($scope){
      $scope.name="Angualar";
};
angular.bootstrap(document, app);   

以上两个模型的工作原理相同。控制器何时实际创建。当范围为控制器创建时。请分享您的意见。

Model2 是不好的方法。 使用 Model1,它是 angular 创建控制器的更好方法。

在 Model2 中,您正在污染全局 window 范围。