Javascript 当ng app未设置为模块名称时,angular如何选择根/主模块?

Javascript 当ng app未设置为模块名称时,angular如何选择根/主模块?,javascript,angularjs,Javascript,Angularjs,这个。但没有描述angular在没有模块名称时的行为?那么angular如何选择根模块呢 它是否创建一个通用模块并注入其中所有可用模块?它将是ng,不,它不会注入其他模块。看一看。因此,当angular被加载并且文档准备就绪时,angularInit将被调用以查找带有ng app和模块的元素,然后调用bootstrap。如果没有定义模块,您可以参考下面的逻辑,ng作为默认模块被取消移动到模块阵列 function bootstrap(element, modules) { var doBoo

这个。但没有描述angular在没有模块名称时的行为?那么angular如何选择根模块呢


它是否创建一个通用模块并注入其中所有可用模块?

它将是
ng
,不,它不会注入其他模块。看一看。因此,当angular被加载并且文档准备就绪时,
angularInit
将被调用以查找带有
ng app
和模块的元素,然后调用
bootstrap
。如果没有定义模块,您可以参考下面的逻辑,
ng
作为默认模块被取消移动到模块阵列

function bootstrap(element, modules) {
  var doBootstrap = function() {
    element = jqLite(element);

    if (element.injector()) {
      var tag = (element[0] === document) ? 'document' : startingTag(element);
      throw ngMinErr('btstrpd', "App Already Bootstrapped with this Element '{0}'", tag);
    }

    modules = modules || [];
    modules.unshift(['$provide', function($provide) {
      $provide.value('$rootElement', element);
    }]);
    modules.unshift('ng');
    var injector = createInjector(modules);
    injector.invoke(['$rootScope', '$rootElement', '$compile', '$injector', '$animate',
       function(scope, element, compile, injector, animate) {
        scope.$apply(function() {
          element.data('$injector', injector);
          compile(element)(scope);
        });
      }]
    );
    return injector;
  };

谢谢,所以它只使用ng,所以JavaScript中定义的所有其他模块都被忽略了,对吗?是的。您可以通过
angular.module('ng')
@redben-mate签出
ng
,如果这有点帮助,请您投票/接受它,thanks@elaujuh保持冷静,不要着急:)