数组语法将帮助您缩小/丑化js
代码。
angular.module('7minWorkout').controller('WorkoutController',
function ($scope, $interval, $location) {
// code here
});
将被缩小和修改为:
angular.module('7minWorkout').controller('WorkoutController',
function (a, b, c) {
// code here
});
所以 Angular 将无法确定要注入哪些依赖项
另一方面,使用array
声明:
angular.module('7minWorkout').controller('WorkoutController',
['$scope', '$interval', '$location', function ($scope, $interval, $location) {
// code here
}]);
将被缩小为:
angular.module('7minWorkout').controller('WorkoutController',
['$scope', '$interval', '$location', function (a, b, c) {
// code here
}]);
所以 Angular 会知道什么a
,b
并c
代表什么。
如果您使用第一个示例代码,还有另一种注入变量的方法,如下所示:
WorkoutController.$inject = ['$scope', '$interval', '$location'];
或者
angular.module('7minWorkout').controller('WorkoutController', /* @ngInject */
function ($scope, $interval, $location) {
// code here
});
这将在$inject
注释代码时创建上述方法。
所以,注解主要有四种:
- 隐式注解 ——第一个示例代码
- Inline Array Annotation - 第二个示例代码
- $inject 属性注解 ——$inject 方法
- $ngInject 注释注释 - @ngInject方法
ng-注释
诸如ng-annotate 之类的工具允许您在应用程序中使用隐式依赖项注释,并在缩小之前自动添加内联数组注释。如果您决定采用这种方法,您可能想要使用ng-strict-di
.
有关更多信息,请参阅AngularJS 开发人员指南 - 使用严格依赖注入。