1

为了在缩小后保持依赖注入工作,我使用这种样式来声明一个控制器:

myModule.controller('myController', ['$rootScope', 'Service', 
  function($rootScope, Service) {
    $scope.foo = 'bar';
}]);

假设您要添加另一个服务。您必须将其添加到 2 个位置,即控制器函数之前的数组中,以及作为控制器函数本身的参数。我的问题是,有没有办法让这个 DRY-er?你能声明一个依赖数组并用它来构建外部数组和内部参数,像这样吗?:

var dependencies = ['$rootScope', 'Service'];

var myProtoController = function() {
  $scope.foo = 'bar';
};

var myController = dependencies.push(myProtoController.bind.apply(this, [this].concat(dependencies)));

myModule.controller('myController', myController);
4

2 回答 2

3

你可以在你的工具链中使用Ngmin吗?它将您的角度函数转换为您当前使用的可缩小样式。

它与 grunt 和 rails 集成,因此在您当前的管道中使用应该很简单。

于 2013-09-05T21:53:02.143 回答
1

使用concat?

var deps = ['$rootScope', 'Service'];

myModule.controller('myCtrl', deps.concat(function ($scope, $rs, S) {
  $scope.foo = 'bar';
}));
于 2013-09-05T21:52:46.327 回答