我一直在阅读AngularJS代码,并试图从传递给.config方法的参数中弄清楚。从下面的示例中,它似乎正在将[]传递给.config。使我感到困惑的部分是根据docs.angularjs.org上的angular.Module文档,方法config将configFn作为一个函数。那么,为什么在下面的示例中看到['$ routeProvider',function(..){..}]作为参数传递?有人可以帮助澄清我的困惑吗?

var sampleApp = angular.module('phonecatApp', []);

sampleApp .config(['$routeProvider',
  function($routeProvider) {
    $routeProvider.
      when('/addOrder', {
        templateUrl: 'templates/add-order.html',
        controller: 'AddOrderController'
      }).
      when('/showOrders', {
        templateUrl: 'templates/show-orders.html',
        controller: 'ShowOrdersController'
      }).
      otherwise({
        redirectTo: '/addOrder'
      });
  }]);

最佳答案

使用数组表示法是为了在最小化用于生产的js文件时避免注入的模块出现问题。由于不会缩小字符串,因此将“ $ routeProvider”作为数组中的字符串传递是Angularjs中的约定。

关于javascript - 新手:帮助了解AngularJS/Javascript语法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26955036/

10-12 13:35