AngularJS - 在定义模块时,第三个参数是数组时的含义是什么?

Jef*_*ohl 5 angularjs

我是AngularJS的新手.我一直在阅读由Pawel Kozlowski和Peter Bacon Darwin 撰写的关于AngularJS掌握Web应用程序开发的优秀书籍.但是,我对某些概念仍然有些模糊,因此我决定逐行浏览他们的示例应用程序,以便更好地了解AngularJS在实际应用程序中的使用方式.

在某些地方,我看到我在他们的书中没有解释的符号,也没有在API文档中看到.我想知道是否有人可以对此有所了解,如上面链接的项目的/client/src/app/projectsinfo/projectsinfo.js文件中所示:

angular.module('projectsinfo', [], ['$routeProvider', function($routeProvider){ 
    ...
}]);
Run Code Online (Sandbox Code Playgroud)

我对angular.module方法的理解是它接受三个参数:

  • 模块的名称
  • 此模块可能依赖的其他模块的数组
  • 可选的配置功能

但是,在上面的例子中,对于第三个参数,正在提供一个数组,数组中的第一个元素是一个字符串(我假设一个提供者?),然后是一个函数.谁能解释一下这里发生了什么?

Aru*_*hny 12

angular.module()的语法是:

angular.module(name, [requires], configFn);
Run Code Online (Sandbox Code Playgroud)

哪里:

  • name 是模块的名称,
  • requires 是该模块所依赖的模块的可选列表,以及
  • configFn 是用于配置模块的函数.

这里configFn可以是函数或数组:

  • 如果它是一个函数,则将根据参数的名称注入注入它的依赖项.
  • 如果它是一个数组,那么我们可以使用该数组指定需要注入的服务的名称,然后使用其他名称作为函数参数.当您的代码可能被缩小器混淆时,这非常有用.

上述文件中的代码似乎没问题.