Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 24383|Respuesta: 4

[Angular] Componentes Dinámicos Cargados de la Serie Angular 9 (1)

[Copiar enlace]
Publicado en 29/5/2020 16:40:00 | | | |
Componentes Dinámicos Cargados de la Serie Angular 9 (1)
https://www.itsvse.com/thread-9238-1-1.html

Parámetros de transmisión de componentes dinámicos de la serie angular 9 (2)
https://www.itsvse.com/thread-9245-1-1.html

La serie Angular 9 (3) se suscribe a eventos dinámicos de componentes
https://www.itsvse.com/thread-9246-1-1.html

Tuberías personalizadas Angular 9 Series (IV)
https://www.itsvse.com/thread-9248-1-1.html

Angular 9 Series (V) formatea el formato de moneda de cantidad
https://www.itsvse.com/thread-9249-1-1.html



La plantilla de un componente no siempre será fija. Tu app puede que necesite cargar algunos componentes nuevos durante la ejecución.

Escenarios de uso:

1. La carga de páginas carga diferentes componentes según distintos parámetros, mostrando distintos efectos
2. La página está compuesta por múltiples elementos, no todos necesitan mostrarse al principio, y la información específica se mostrará después de que el usuario haga clic, como: pestañas, cuadros modales emergentes dinámicos, etc.

El escenario de uso de este artículo es dos, imagina,Si no usas carga dinámica, al abrir la interfaz principal, todos los componentes ocultos de la página se cargarán y todos los componentes llamarán a sus servicios de interfaz correspondientes; a menudo, no necesitamos ver toda la información, lo que es un gran desperdicio de recursos y también puede hacer que la interfaz principal cargue lentamente, afectando la experiencia del usuario

Hay dos formas de cargar dinámicamente componentes en ng:

Cargar componentes ya declarados: Utiliza ComponentFactoryResolver para renderizar una instancia de un componente en otra vista de componente;
Crear y cargar componentes dinámicamente: Utiliza ComponentFactory y Compiler para crear y renderizar componentes
Según nuestras necesidades, los componentes individuales se desarrollan de antemano y deben mostrarse en el mismo componente. Así que la primera forma cumple con nuestros requisitos.

Para cargar dinámicamente componentes usando ComponentFactoryResolver, necesitas entender los siguientes conceptos:

  • ViewChild: Decorador de propiedades, a través del cual puedes obtener los elementos correspondientes en la vista;
  • ViewContainerRef: Un contenedor de vista en el que se pueden crear y eliminar componentes;
  • ComponentFactoryResolver: Un analizador de componentes que puede renderizar un componente en una vista de otro.

Primero, veamos los renderizados: haz clic en el botón modal1 para cargar dinámicamente el componente modal1 y haz clic en el botón modal2 para cargar dinámicamente el componente modal2.



Primero, creamos un proyecto angular.

Crear 4 componentes, a saber, index, modal1, modal2 y modal3, de los cuales modal1 y modal2 son nuestros componentes cargados dinámicamente.

Componente índice

HTML:

TS:

Componente modal1

HTML:

TS:


Componente modal2

HTML:


TS:

Componente modal3

HTML:


TS:


Imprimimos sus nombres en el constructor para 3 modales.

Modal1 y Modal2 se cargan dinámicamente; solo cuando se pulsa el botón para cargar, se activa el constructor de ejecución, Modal3 no utiliza carga dinámica; tras cargar la interfaz principal, el constructor de interfaz Modal3 se ejecutará inmediatamente.

De este modo, puedes ver las ventajas de la carga dinámica, y no cargará si no la usas, similar a la carga perezosa en C#.

Descarga del código fuente:

Turistas, si queréis ver el contenido oculto de esta publicación, por favorRespuesta


Recursos:El inicio de sesión del hipervínculo es visible.






Anterior:Altura de configuración CSS: solución 100% inválida
Próximo:Azure DevOps 2020 (1) Primera Introducción a Microsoft Azure DevOps (TFS)
 Propietario| Publicado en 24/7/2020 17:52:58 |
Componentes Dinámicos Cargados de la Serie Angular 9 (1)
https://www.itsvse.com/thread-9238-1-1.html

Parámetros de transmisión de componentes dinámicos de la serie angular 9 (2)
https://www.itsvse.com/thread-9245-1-1.html

La serie Angular 9 (3) se suscribe a eventos dinámicos de componentes
https://www.itsvse.com/thread-9246-1-1.html

Tuberías personalizadas Angular 9 Series (IV)
https://www.itsvse.com/thread-9248-1-1.html

Angular 9 Series (V) formatea el formato de moneda de cantidad
https://www.itsvse.com/thread-9249-1-1.html

La serie angular 9 (VI) llama variables y métodos JS nativos
https://www.itsvse.com/thread-9254-1-1.html

Mira estilo CSS de la serie Angular 9 (VII)
https://www.itsvse.com/thread-9264-1-1.html

La serie angular 9 (VIII) actualiza el valor de un componente hijo al desencadenar un evento mediante el conjunto
https://www.itsvse.com/thread-9267-1-1.html

Selector de #id Angular 9 Series (nueve) aplicado en la página
https://www.itsvse.com/thread-9278-1-1.html

La serie Angular 9 (10) integra paneles de depuración para desarrolladores de vconsole y eruda
https://www.itsvse.com/thread-9286-1-1.html

Angular 9 Series (XI) 5 formas de definir estilos
https://www.itsvse.com/thread-9305-1-1.html


La serie Angular 9 (XII) genera tokens dinámicos basados en OTPs
https://www.itsvse.com/thread-9325-1-1.html
 Propietario| Publicado en 2/2/2021 13:56:30 |
La serie Angular 10 (trece) introduce los gráficos echarts de Baidu
https://www.itsvse.com/thread-9347-1-1.html

Entorno de producción de la serie Angular 11 (XIV) para depuración
https://www.itsvse.com/thread-9348-1-1.html

La Serie Angular 11 (XV) adquiere altura de componentes y ajusta dinámicamente la altura
https://www.itsvse.com/thread-9364-1-1.html

Serie Angular 11 (16) para analizar código fuente HTML
https://www.itsvse.com/thread-9376-1-1.html
Publicado en 26/10/2022 17:27:19 |
Aprende!!!!!!!!!!!!!
 Propietario| Publicado en 30/4/2025 14:38:35 |
ComponentFactoryResolverObsoleto

Las enmiendas son las siguientes:
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com