Javascript 这两个角度js控制器之间的区别是什么?
声明控制器时,我通常会看到以下内容:Javascript 这两个角度js控制器之间的区别是什么?,javascript,angularjs,controller,Javascript,Angularjs,Controller,声明控制器时,我通常会看到以下内容: University.controller('ClassroomController', function($scope){ //do stuff }); 与之相比,它的区别是什么: var classroomController = function ($scope){ //do stuff } University.controller('ClassroomController',['$scope',classroomController]) 教程
University.controller('ClassroomController', function($scope){
//do stuff
});
与之相比,它的区别是什么:
var classroomController = function ($scope){
//do stuff
}
University.controller('ClassroomController',['$scope',classroomController])
教程似乎没有说明第二种声明的优点。如果缩小js,第一种语法将中断。例如,Angular将尝试查找
$timeout
,但将查找a
为了避免这种情况,您必须显式地或内联地声明依赖项后者在您不需要的任何范围内声明
classroomController
符号。看见它还支持Angular的DI注释,该注释将在缩小后仍然有效。在功能上,它们是identical@Phil谢谢你的回复!但我对你的回答有点困惑,你说后者可能不可取,但在阅读了你共享的链接后,据我所知,后一个声明确保了垃圾收集。嘿@Phil谢谢!我现在明白了,第二个声明也很好。起初我不明白,但经过研究,我现在可以理解你的答案了。非常感谢!