Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 24383|Resposta: 4

[Angular] Componentes Carregados Dinamicamente da Série Angular 9 (1)

[Copiar link]
Publicado em 29/05/2020 16:40:00 | | | |
Componentes Carregados Dinamicamente da Série Angular 9 (1)
https://www.itsvse.com/thread-9238-1-1.html

Parâmetros de transmissão de componentes dinâmicos da série Angular 9 (2)
https://www.itsvse.com/thread-9245-1-1.html

A série Angular 9 (3) subscreve eventos dinâmicos de componentes
https://www.itsvse.com/thread-9246-1-1.html

Tubulações personalizadas da Série Angular 9 (IV)
https://www.itsvse.com/thread-9248-1-1.html

A Série Angular 9 (V) formata o formato de moeda de quantidade
https://www.itsvse.com/thread-9249-1-1.html



O modelo de um componente nem sempre será fixo. Seu app pode precisar carregar alguns componentes novos durante a execução.

Cenários de Uso:

1. Carregamento de página carrega diferentes componentes de acordo com diferentes parâmetros, mostrando efeitos distintos
2. A página é composta por múltiplos elementos, nem todos precisam ser exibidos no início, e informações específicas serão exibidas após o clique do usuário, como: abas de abas (abs), caixas modais dinâmicas pop-up, etc.

O cenário de uso deste artigo é 2, imagine só,Se você não usar carregamento dinâmico, ao abrir a interface principal, todos os componentes ocultos da página serão carregados, e todos os componentes chamam seus serviços de interface correspondentes; muitas vezes, não precisamos ver todas as informações, o que é um grande desperdício de recursos e pode também fazer a interface principal carregar lentamente, afetando a experiência do usuário

Existem duas maneiras de carregar dinamicamente componentes em ng:

Carregar componentes já declarados: Use o ComponentFactoryResolver para renderizar uma instância de um componente em outra visualização de componente;
Criar e carregar componentes dinamicamente: Use o ComponentFactory e o Compiler para criar e renderizar componentes
De acordo com nossas necessidades, os componentes individuais são desenvolvidos antecipadamente e precisam ser exibidos no mesmo componente. Então, a primeira forma atende aos nossos requisitos.

Para carregar componentes dinamicamente usando o ComponentFactoryResolver, você precisa entender os seguintes conceitos:

  • ViewChild: Decorador de imóveis, através do qual você pode obter os elementos correspondentes na vista;
  • ViewContainerRef: Um contêiner de visualização onde componentes podem ser criados e excluídos;
  • ComponentFactoryResolver: Um parser de componentes que pode renderizar um componente em uma visualização de outro.

Primeiro, vamos olhar as renderizações, clique no botão modal1 para carregar dinamicamente o componente modal1 e clique no botão modal2 para carregar dinamicamente o componente modal2.



Primeiro, criamos um projeto angular.

Crie 4 componentes, a saber: index, modal1, modal2 e modal3, dos quais modal1 e modal2 são nossos componentes dinamicamente carregados.

Componente índice

HTML:

TS:

Componente Modal1

HTML:

TS:


Componente modal2

HTML:


TS:

Componente modal3

HTML:


TS:


Imprimimos os nomes deles no construtor para 3 modais.

Modal1 e Modal2 são ambos carregados dinamicamente, somente quando o botão é clicado para carregar, o construtor de execução será acionado, o modal3 não usa carregamento dinâmico, e após o carregamento da interface pai, o construtor da interface modal3 será executado imediatamente.

Dessa forma, você pode ver as vantagens do carregamento dinâmico, e ele não vai carregar se você não usá-lo, semelhante ao carregamento preguiçoso em C#.

Código fonte para download:

Turistas, se quiserem ver o conteúdo oculto deste post, por favorResposta


Recursos:O login do hiperlink está visível.






Anterior:Altura da configuração CSS: solução 100% inválida
Próximo:Azure DevOps 2020 (1) Primeira Introdução a Microsoft Azure DevOps (TFS)
 Senhorio| Publicado em 24/07/2020 17:52:58 |
Componentes Carregados Dinamicamente da Série Angular 9 (1)
https://www.itsvse.com/thread-9238-1-1.html

Parâmetros de transmissão de componentes dinâmicos da série Angular 9 (2)
https://www.itsvse.com/thread-9245-1-1.html

A série Angular 9 (3) subscreve eventos dinâmicos de componentes
https://www.itsvse.com/thread-9246-1-1.html

Tubulações personalizadas da Série Angular 9 (IV)
https://www.itsvse.com/thread-9248-1-1.html

A Série Angular 9 (V) formata o formato de moeda de quantidade
https://www.itsvse.com/thread-9249-1-1.html

A série angular 9 (VI) chama variáveis e métodos JS nativos
https://www.itsvse.com/thread-9254-1-1.html

Mira CSS estilo Angular série 9 (VII)
https://www.itsvse.com/thread-9264-1-1.html

A série angular 9 (VIII) atualiza o valor de um componente filho ao acionar um evento via conjunto
https://www.itsvse.com/thread-9267-1-1.html

Seletor de #id Angular 9 Series (nove) aplicado na página
https://www.itsvse.com/thread-9278-1-1.html

A série Angular 9 (10) incorpora painéis de depuração do vconsole e do eruda
https://www.itsvse.com/thread-9286-1-1.html

Angular 9 Series (XI) 5 Maneiras de Definir Estilos
https://www.itsvse.com/thread-9305-1-1.html


A série Angular 9 (XII) gera tokens dinâmicos baseados em OTPs
https://www.itsvse.com/thread-9325-1-1.html
 Senhorio| Publicado em 02/02/2021 13:56:30 |
A série Angular 10 (treze) apresenta os gráficos echarts Baidu
https://www.itsvse.com/thread-9347-1-1.html

Ambiente de produção Angular 11 série (XIV) para depuração
https://www.itsvse.com/thread-9348-1-1.html

A Série Angular 11 (XV) adquire altura dos componentes e ajusta dinamicamente a altura
https://www.itsvse.com/thread-9364-1-1.html

Código fonte de análise de páginas da série Angular 11 (16)
https://www.itsvse.com/thread-9376-1-1.html
Publicado em 26/10/2022 17:27:19 |
Aprenda!!!!!!!!!!!!!
 Senhorio| Publicado em 30/04/2025 14:38:35 |
ComponentFactoryResolverDescontinuado

As emendas são as seguintes:
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com