Entendendo o bootstrap manual manual passo a passo do angularJS
Eu estava analisando o básico do angularJS sobre como ele é inicializado manualmente. Me deparei com uma abordagem diferente e encontreiessa abordagem estar melhor equipado.
angular.element(document).ready(function(){
angular.bootstrap(document,['myapp'])
})
Indo mais longe, me depareidesta outra maneira que quebra o básico. Eu comentei o código de acordo com meu entendimento, mas alguém pode me explicar com mais detalhes sobre como as coisas estão funcionando?
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();
}
Além disso, sinta-se à vontade para me esclarecer mais sobre esse assunto, sugerindo mais maneiras e melhorias.