sarà ng
e no, non verrà iniettato altri moduli. Dai un'occhiata a angular source code for function bootstrap
. Pertanto, quando viene caricato un angolo, e il documento è pronto, verrà invocato angularInit
per trovare l'elemento con ng-app
e il modulo, quindi chiamare bootstrap
. se non è stato definito alcun modulo, è possibile fare riferimento alla seguente logica: ng
non è spostato sull'array dei moduli come modulo predefinito.
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;
};
Grazie, quindi utilizza solo ng, quindi tutti gli altri moduli definiti in JavaScript sono ignorati, giusto? – redben
si. e puoi controllare 'ng' di' angular.module ('ng') ' – elaijuh
@redben - mate, se questo ti aiuta un po ', potresti inversione/accettarlo, grazie – elaijuh