我想了解 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 使用参数名称将值注入(inject) Controller 函数。在 JavaScript 缩小过程中,这些参数被重命名为更短的字符串。通过使用字符串数组告知将哪些参数注入(inject)到函数中,AngularJS 仍然可以在重命名参数时注入(inject)正确的值。
关于javascript - Angular 中使用方括号的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18032068/