如何将依赖关系整齐地注入我的角度控制器?

时间:2013-12-08 06:56:24

标签: angularjs

我有:

app.controller('ReportsCtrl', ['$scope', 'reportsApiCall', 'analyticsInitialiserClient', '$timeout', 'chart', 'originCompositionChart', 'executionTimeChart', 'cacheCompositionChart', function ($scope, reportsApiCall, analyticsInitialiserClient, $timeout, chart, originCompositionChart, executionTimeChart, cacheCompositionChart) {

但我喜欢使用的语法。 myController.$inject = ['$scope','notify'];

但我不想声明myController的名称,因为那时我正在污染全局命名空间。有没有办法可以去:?

app.controller('ReportsCtrl', function ($scope, reportsApiCall, analyticsInitialiserClient, $timeout, chart, originCompositionChart, executionTimeChart, cacheCompositionChart) {
}).$inject();

因为目前我的语法失败了:(?

2 个答案:

答案 0 :(得分:2)

你可以这样做:

(function(){
     myController.$inject = ['service1','service2'];
     function myController(s1,s2){
         //controller logic
     }
     app.controller('myCtrl',myController);
}());

答案 1 :(得分:1)

我使用grunt-ngmin在缩小源代码时注释我的源代码,并且不要直接在我的代码中放置annontations。