AngularJs,创建控制器时有什么好处?

时间:2016-08-08 23:26:39

标签: angularjs

在AngularJs中创建控制器时更好:

1-

angular.module('myApp')
.controller('MyController',['$scope','dependencies','myService', function($scope, dependencies, myService ) {

}]);

2-

angular.module('myApp')
.controller('MyController', function($scope, dependencies, myService ) {

});

2 个答案:

答案 0 :(得分:2)

性能方面,第一个在技术上更好,尽管成本可能微不足道。如果你以第二种方式执行它,angular就会在控制器函数上调用.toString()函数,然后解析字符串以确定依赖关系。因此,您可以自己声明它们,或者angular会将您的函数解析为字符串以确定它们。

作为开发人员,我发现更容易阅读和编写第二个版本。请注意,如果您计划使用uglifying / minifying代码,则必须将内容更改为第一个表单。有些工具会自动为你执行此操作(例如ngAnnotate),这样你就可以用第二种方式编写它,但是让它以第一种方式部署。

答案 1 :(得分:1)

使用此方法,您可以获得函数提升,调试函数名称,改变$ inject的能力; 也更容易推理&调试。

function myController(){
  
}
myController.$inject = ['$scope','dependencies','myService'];
angular.module('myApp' ,myController);