javascript - Angular 中使用方括号的目的是什么?

标签 javascript angularjs

我想了解 MyOtherServiceMyOtherComplexService 声明之间的区别。特别是方括号部分的目的是什么?何时使用它们,何时不使用它们?

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/

相关文章:

javascript - 在 AngularJS 网页中滚动后如何修复元素

javascript - openweathermap API 到 Angular ES6

javascript - 如何使 slider 上方的文本框

javascript - knockout 数据绑定(bind)字符串串联数组

javascript - 如何禁用 Angular Material Stepper 中的步骤?

twitter-bootstrap - 使用 ng-repeat 创建 "grid"布局

angularjs - 如何在 Jasmine 中模拟 response.headers ('location' )?

javascript - 隐藏动画在 Ionic 中不起作用

javascript - Extjs 中的容器与面板

javascript - bootstrap slide + fancy box 解决方案