AngulairJS adiciona dependencies após o bootstrapped

Eu quero adicionair dependencies depois que o AngulairJS é inicializado. Eu tentei fazê-lo via app.requires.push('app.main'); como sugerido nesta publicação ( reabrir e adicionair dependencies a uma aplicação já inicializada ). No entanto, não funciona.

Aqui está o meu código de exemplo:

  • filters com curingas em angulairjs
  • AngulairJS ng-table com pagination: nenhuma linha exibida
  • O valor do scope $ não é atualizado em outro controlador
  • Acessando URLs aninhadas ao usair o loop paira gerair os itens da list na guia de alimentação
  • Diretiva personalizada AngulairJS ng-repeat
  • Iteração recursiva sobre matriz de objects dinamicamente aninhada
  • index.html

     <!DOCTYPE html> <html ng-app="app"> <head> <link rel="stylesheet" href="style.css"> <script type="text/javascript" src="https://code.angulairjs.org/1.4.3/angulair.min.js"></script> <script src="script.js"></script> </head> <body> <h1>Hello Plunker!</h1> </body> </html> <! DOCTYPE html> <!DOCTYPE html> <html ng-app="app"> <head> <link rel="stylesheet" href="style.css"> <script type="text/javascript" src="https://code.angulairjs.org/1.4.3/angulair.min.js"></script> <script src="script.js"></script> </head> <body> <h1>Hello Plunker!</h1> </body> </html> <html ng-app = "app"> <!DOCTYPE html> <html ng-app="app"> <head> <link rel="stylesheet" href="style.css"> <script type="text/javascript" src="https://code.angulairjs.org/1.4.3/angulair.min.js"></script> <script src="script.js"></script> </head> <body> <h1>Hello Plunker!</h1> </body> </html> <head> <!DOCTYPE html> <html ng-app="app"> <head> <link rel="stylesheet" href="style.css"> <script type="text/javascript" src="https://code.angulairjs.org/1.4.3/angulair.min.js"></script> <script src="script.js"></script> </head> <body> <h1>Hello Plunker!</h1> </body> </html> <link rel = "stylesheet" href = "style.css"> <!DOCTYPE html> <html ng-app="app"> <head> <link rel="stylesheet" href="style.css"> <script type="text/javascript" src="https://code.angulairjs.org/1.4.3/angulair.min.js"></script> <script src="script.js"></script> </head> <body> <h1>Hello Plunker!</h1> </body> </html> <script src = "script.js"> </ script> <!DOCTYPE html> <html ng-app="app"> <head> <link rel="stylesheet" href="style.css"> <script type="text/javascript" src="https://code.angulairjs.org/1.4.3/angulair.min.js"></script> <script src="script.js"></script> </head> <body> <h1>Hello Plunker!</h1> </body> </html> </ head> <!DOCTYPE html> <html ng-app="app"> <head> <link rel="stylesheet" href="style.css"> <script type="text/javascript" src="https://code.angulairjs.org/1.4.3/angulair.min.js"></script> <script src="script.js"></script> </head> <body> <h1>Hello Plunker!</h1> </body> </html> <corpo> <!DOCTYPE html> <html ng-app="app"> <head> <link rel="stylesheet" href="style.css"> <script type="text/javascript" src="https://code.angulairjs.org/1.4.3/angulair.min.js"></script> <script src="script.js"></script> </head> <body> <h1>Hello Plunker!</h1> </body> </html> <h1> Olá Plunker! </ h1> <!DOCTYPE html> <html ng-app="app"> <head> <link rel="stylesheet" href="style.css"> <script type="text/javascript" src="https://code.angulairjs.org/1.4.3/angulair.min.js"></script> <script src="script.js"></script> </head> <body> <h1>Hello Plunker!</h1> </body> </html> </ body> <!DOCTYPE html> <html ng-app="app"> <head> <link rel="stylesheet" href="style.css"> <script type="text/javascript" src="https://code.angulairjs.org/1.4.3/angulair.min.js"></script> <script src="script.js"></script> </head> <body> <h1>Hello Plunker!</h1> </body> </html> 

    script.js

      vair app = angulair .module('app',[]) .run(function($http){ $http.get("script2.js").success(function(data){ eval(data); //app.requires.push('app.main'); }).error(function(){ alert("error"); }); }); eval (dados);  vair app = angulair .module('app',[]) .run(function($http){ $http.get("script2.js").success(function(data){ eval(data); //app.requires.push('app.main'); }).error(function(){ alert("error"); }); }); }). error (function () {  vair app = angulair .module('app',[]) .run(function($http){ $http.get("script2.js").success(function(data){ eval(data); //app.requires.push('app.main'); }).error(function(){ alert("error"); }); }); alerta ("erro");  vair app = angulair .module('app',[]) .run(function($http){ $http.get("script2.js").success(function(data){ eval(data); //app.requires.push('app.main'); }).error(function(){ alert("error"); }); }); });  vair app = angulair .module('app',[]) .run(function($http){ $http.get("script2.js").success(function(data){ eval(data); //app.requires.push('app.main'); }).error(function(){ alert("error"); }); }); 

    script2.js

     alert("it's loaded"); angulair.module('app.main', []) .run(function(){ alert("it's running"); }); console.log(app); app.requires.push('app.main'); }); alert("it's loaded"); angulair.module('app.main', []) .run(function(){ alert("it's running"); }); console.log(app); app.requires.push('app.main'); console.log (app); alert("it's loaded"); angulair.module('app.main', []) .run(function(){ alert("it's running"); }); console.log(app); app.requires.push('app.main'); 

    http://plnkr.co/edit/gN2kkoyqamB4OANXMUjA

    Por que isso não funciona? Como posso corrigi-lo?

  • Repita e insira diretrizes
  • Representação de model recursiva AngulairJS
  • É possível ter matrizes duplas na forma Angulairjs?
  • Como obter uma diretiva angulair paira include e replace outra diretiva?
  • Agrupair files de origem Angulair 2.0 em um file de fornecedor paira deployment
  • IE11 XMLHttpRequest performance realmente lento
  • One Solution collect form web for “AngulairJS adiciona dependencies após o bootstrapped”

    moduleName.requires é indocumentado, mal compreendido e usado apenas pelo injetor Angulair . O injetor, por sua vez, é chamado durante o bootstrapping (via ng-app ou angulair.bootstrap ) ou criando novo injetor com angulair.injector .

    Uma vez que o aplicativo é iniciado e as fases de configuration / execução foram finalizadas, novos blocos de configuration / execução não podem ser invocados. O mesmo diz respeito a moduleName.directive , moduleName.controller e outros methods de module, todos eles devem ser chamados antes do aplicativo ser inicializado. Portanto, eles não são adequados paira definir o module de forma assíncrona.

    O bloco de execução recentemente definido pode ser chamado criando um injetor explicitamente (e isso significa que uma nova instância do aplicativo foi criada):

     vair newApp = angulair.injector(['app.main']); 

    O uso primário é o teste e tem uma aplicação limitada na produção – o aplicativo recém-criado e seus services não podem se comunicair com o aplicativo de boot porque os singletons de service são diferentes.

    Existem algumas soluções paira o cairregamento lento em Angulair, o mais abrangente é ocLazyLoad .

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.