在AngularJs中创建控制器时更好:
1-
angular.module('myApp')
.controller('MyController',['$scope','dependencies','myService', function($scope, dependencies, myService ) {
}]);
2-
angular.module('myApp')
.controller('MyController', function($scope, dependencies, myService ) {
});
答案 0 :(得分:2)
性能方面,第一个在技术上更好,尽管成本可能微不足道。如果你以第二种方式执行它,angular就会在控制器函数上调用.toString()函数,然后解析字符串以确定依赖关系。因此,您可以自己声明它们,或者angular会将您的函数解析为字符串以确定它们。
作为开发人员,我发现更容易阅读和编写第二个版本。请注意,如果您计划使用uglifying / minifying代码,则必须将内容更改为第一个表单。有些工具会自动为你执行此操作(例如ngAnnotate),这样你就可以用第二种方式编写它,但是让它以第一种方式部署。
答案 1 :(得分:1)
使用此方法,您可以获得函数提升,调试函数名称,改变$ inject的能力; 也更容易推理&调试。
function myController(){
}
myController.$inject = ['$scope','dependencies','myService'];
angular.module('myApp' ,myController);