1、显示注入,代码过长,不容易阅读,代码压缩不出错
app.controller('PhoneListCtrl', ['$scope', '$http', function(e, m){ //do something }]);
2、隐示注入,书写简单,但是在js进行压缩时候会出错,因为变量名变短,而依赖注入是基于其服务的名称的
app.controller('PhoneListCtrl', function($scope, $http){ //do something });
3、大家推荐$inject的方式,你可以参考JohnPapa的 Angular Style Guide
app.controller('PhoneListCtrl', PhoneListCtrl); PhoneListCtrl.$inject = ['$scope', '$http']; function PhoneListCtrl($scope, $http){ }
另外多说一句,无论你采用那一种,在代码压缩时,其实是不用担心的,因为有插件会帮我们进行依赖注入,无论你使用的是gulp还是grunt,会有一个插件 ng-annotate 帮助你进行依赖注入的添加。