虽然这个thread总结了以下三种代码样式:
1)
angular.module('mainCtrl', []);
function MainCrl($scope, $rootScope) {}
2)
angular.module('mainCtrl',[])
.controller('MainCtrl', function($scope, $rootScope)) { ... });
3)
angular.module('mainCtrl',[])
.controller('MainCtrl', ['$scope', '$rootScope', function(scope, rootScope)) { ... }]);
我看到in this video的第四种方式对我很有吸引力
4)
var controllers = {}
controllers.mainCtrl = function($scope, $rootScope){ };
app.controller(controllers)
我倾向于继续4),如果缩小它会破裂还是有任何其他缺点?我应该选择3),因为它似乎是标准的做法吗?
答案 0 :(得分:5)
我的建议:选择3,有三个原因:
答案 1 :(得分:5)
选项4污染全局命名空间,但如果正确执行 1 , 缩小安全。
选项3允许您重命名您的注射剂 2 ,尊重模块,不污染全局命名空间,并且在缩小时不需要任何额外的工作。
所以我的赢家是选项#3。
1 选项4 - 缩小版本:
var controllers = {};
controllers.mainCtrl = ['$scope', '$rootScope', function($scope, $rootScope){ ... }];
app.controller(controllers);
2 重命名注射剂:
app.controller('MyCtrl', ['$scope', 'UserService', function($scope, User){ ... }]);