Przeszedłem przez podstawy angularJS o tym, jak to jest ręcznie ładowane. Natknąłem się na inne podejście i uznałem, że najlepiej pasuje do niego this approach.Zrozumienie krokowego ręcznego ładowania początkowego angularJS
angular.element(document).ready(function(){
angular.bootstrap(document,['myapp'])
})
Idąc dalej, natknąłem się na this another way which breaks it to basics. Skomentowałem kod zgodnie z moim zrozumieniem, ale ktoś może mi wyjaśnić więcej szczegółów na temat tego, jak działa pod maską.
window.onload = function(){
var $rootElement = angular.element(window.document);
var modules = [
'ng', // angular module
'myApp', // custom module
// what are we trying to achieve here?
function($provide){
$provide.value('$rootElement',$rootElement)
}
];
var $injector = angular.injector(modules); // one injector per application
var $compile = $injector.get('$compile'); // Compile Service: it traverses the DOM and look for directives and compile and return linking function. No accecess to scope
var compositeLinkFn = $compile($rootElement); // collection of all linking function. Here scope is getting accessed
var $rootScope = $injector.get('$rootScope'); // Hold of the rootscope
compositeLinkFn($rootScope);
$rootScope.$apply();
}
Ponadto, proszę o więcej informacji na ten temat, sugerując więcej sposobów i ulepszeń.
myślę, być może pytanie jest zbyt szerokie. Jest szansa, że możesz to zawęzić? – hkBst
@hkBst: Nie wiem, jak to zrobić w tej sprawie. Chcę zrozumieć, co dzieje się pod maską i zapewniłem wszystkie kroki. To była nagroda dla mnie :( –