我想了解MyOtherService
和的声明之间的区别MyOtherComplexService
。特别是方括号部分的目的是什么?什么时候使用它们,什么时候不使用?
var myapp = angular.module('myapp', []);
myapp.factory('MyService', function($rootScope, $timeout) {
return {
foo: function() {
return "MyService";
}
}
});
myapp.factory('MyOtherService', function($rootScope, $timeout, MyService) {
return {
foo: function() {
return "MyOtherService";
}
}
});
myapp.factory('MyOtherComplexService', ['$rootScope', '$timeout', 'MyService', function($rootScope, $timeout, MyService) {
return {
foo: function() {
return "MyOtherComplexService";
}
}
}]);
myapp.controller('MyController', function($scope, MyOtherService, MyOtherComplexService) {
$scope.x = MyOtherService.foo();
$scope.y = MyOtherComplexService.foo();
});
它使AngularJS代码最小化。AngularJS使用参数名称将值注入到控制器函数中。在JavaScript压缩过程中,这些参数被重命名为较短的字符串。通过使用字符串数组确定将哪些参数注入到函数中,当重命名参数时,AngularJS仍可以注入正确的值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句