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

523
Visualizações
Lazy loading Angular 13+ módulos sin el compilador obsoleto

He trabajado mucho con la carga y creación de instancias de módulos Angular . (sin el enrutador)

Pero ahora con Angular 13 veo obsolescencias para las herramientas de compilación habituales para instanciar un NgModule:

ingrese la descripción de la imagen aquí

Aquí está mi código de acceso habitual para cargar un módulo

 const moduleFactory = await this.compiler.compileModuleAsync(module); const moduleRef = moduleFactory.create(this.injector); const componentFactory = moduleRef.instance.resolveComponent(selector);

Mirando más profundo El cambio V13 donde ViewContainerRef ahora tiene la fábrica incluida hace que los componentes dinámicos sean 1 paso más fáciles. Sin embargo, con respecto a ViewContainerRef.createComponent() , la documentación establece:

Angular en desuso ya no requiere fábricas de componentes para crear componentes dinámicamente. Use una firma diferente del método createComponent, que permite pasar la clase Component directamente.

Entonces, ¿cuáles son las nuevas direcciones para estas tareas en Angular 13+?

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

0

Puede aprovechar un nuevo método createNgModuleRef y reemplazar estos pasos:

 const moduleFactory = await this.compiler.compileModuleAsync(module); const moduleRef = moduleFactory.create(this.injector);

con

 const moduleRef = createNgModuleRef(module, this.injector);

También puede leer sobre todas las obsolescencias y posibles reemplazos en Angular doc https://angular.io/guide/deprecations

over 4 years ago · Santiago Trujillo Relatório

0

Aquí tienes Importa ViewContainerRef, Renderer2, Injector

Crear un elemento de contenido

 const messageText = this.renderer.createText('message');

Crear la referencia del componente

 const compRef = this.vcr.createComponent(<ComponentClass>, {Injector: this.injector, projectNodes: [[messageText]]});

Si quieres el elemento

 const elem = compRef.location.nativeElement;
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