Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

199
Visualizações
Inyectar constante a la configuración de otros módulos usando Angular JS

Me gustaría compartir algunas variables como rutas base a lo largo de mi aplicación. Estas variables deben ser accesibles durante la configuración del módulo. Mi opinión fue que puedo usar una constante o un proveedor para eso.

Tengo varios módulos y cada uno tiene su propia configuración de enrutamiento. En estas configuraciones de enrutamiento, quiero acceder a algunas configuraciones, por ejemplo.

Esto funciona para la configuración del módulo de la aplicación, pero no para otras configuraciones del módulo (para los controladores en otros módulos sí lo hace), siempre obtengo "Proveedor desconocido: información de myApp.orders".

 var myApp = angular.module('myApp', ['myApp.orders']); myApp.constant('info', { version : '1.0' }); myApp.config(function(info) { console.log('app config: ' + info.version); }); myApp.controller('MyController', function (info) { console.log('controller: ' + info.version); }); var orders = angular.module('myApp.orders', []); // Remove comments to see it fail. //orders.config(function(info) { // console.log('orders config: ' + info.version); //});
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app="myApp" class="container" ng-controller="MyController"> </div>

Supongo que me he perdido un pequeño detalle, ¿tienes una idea?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Su constante de info se define en su módulo myApp . Si entiendo su pregunta correctamente, le gustaría usar las constantes en otros módulos (por ejemplo, el módulo myApp.orders). Si es así, debe inyectar myApp en myApp.orders, pero parece que desea hacer lo contrario. Una solución es desacoplar las constantes en un módulo independiente e inyectarlo como una dependencia donde sea necesario.

 angular.module('constants', []) .constant(...); angular.module('myApp', ['constants', 'myApp.orders']) ... angular.module('myApp.orders', ['constants']) ...
over 4 years ago · Santiago Trujillo Relatório

0

No sé si mi solución es la más bonita, pero puse en mi index.html una definición de una CONFIGURACIÓN a la que hago referencia desde otros componentes. Genero mi index.html con el código del lado del servidor para poder establecer los valores cuando se inicia el programa. Es decir, uso index.cshtml, pero también puede ser index.php u otra tecnología. Así es como se ve mi index.html:

 .... <script type="text/javascript"> var usingMockDataGlobal = true; </script> .... <script type="text/javascript"> (function () { 'use strict'; var configData = { codeCampType: 'angu', loggedInUsername: 'peter', mockData: usingMockDataGlobal }; angular.module('baseApp').constant('CONFIG', configData); })(); </script>
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda