2014-12-26 10 views

Odpowiedz

3

to będzie ng i nie, nie będzie wstrzykiwać innych modułów. Spójrz na angular source code for function bootstrap. Kiedy załadowany jest kąt i dokument jest gotowy, zostanie wywołany angularInit, aby znaleźć element z ng-app i modułem, a następnie zadzwonić pod numer bootstrap. jeśli żaden moduł nie jest zdefiniowany, możesz odwołać się do poniższej logiki, ng jest przestawiany do tablicy modułów jako moduł domyślny.

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; 
    }; 
+0

Dzięki, więc używa tylko ng, więc wszystkie inne moduły zdefiniowane w JavaScript są ignorowane, prawda? – redben

+0

tak. i możesz wypisywać 'ng' przez' angular.module ('ng') ' – elaijuh

+0

@redben - mate, jeśli to trochę pomaga, czy możesz to zrobić, zaakceptuj to, dzięki – elaijuh

Powiązane problemy