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: 1359|Respuesta: 1

[Angular] Serie Angular 18 (Veintiocho) Injección Breve Introducción

[Copiar enlace]
Publicado el 20-12-2024 16:02:20 | | | |
Angular es un popular framework de front-end JavaScript que ofrece una forma potente de construir aplicaciones de una sola página (SPA). En Angular, la Inyección de Dependencias (DI) es una característica clave que nos permite gestionar eficientemente las dependencias en nuestras aplicaciones. El sistema de inyección de dependencias de Angular utiliza InjectionTokens para implementar ciertos requisitos especiales de inyección de dependencias. En este artículo, explicaré en detalle qué hace InjectionToken y proporcionaré ejemplos para ilustrar su uso práctico en aplicaciones Angular.

¿Qué es la inyección de dependencia?

Antes de adentrarnos en InjectionToken, primero entendamos qué es la inyección de dependencias. La inyección de dependencias es un patrón de diseño que nos permite inyectar dependencias de un objeto (por ejemplo, servicios o configuraciones) en otro objeto sin necesidad de codificar esas dependencias. Los beneficios de esto incluyen:

1. Mantenibilidad: Al inyectar dependencias en los componentes, podemos cambiar fácilmente estas dependencias sin tener que modificar código extenso.
2. Comprobabilidad: Podemos proporcionar fácilmente dependencias simuladas para componentes para pruebas unitarias sin crear instancias reales de esas dependencias.
3. Acoplamiento débil: La inyección de dependencias nos ayuda a lograr un acoplamiento débil, haciendo que las relaciones entre componentes individuales sean más flexibles.

En Angular, la inyección de dependencias está integrada, y el contenedor de inyección de dependencias de Angular es responsable de gestionar la creación y el ciclo de vida de las dependencias.

¿Por qué necesitas un InjectionToken?

A veces necesitamos inyectar dependenciasNo es una instancia de una clase, sino un elemento de configuración, cadena u otro valor que no pertenece a clase。 Aquí es donde entra InjectionToken, permitiéndonos inyectar valores no de clase en componentes o servicios como dependencias.

¿Qué hace InjectionToken?

El papel de un InjectionToken es definir un identificador que identifica dependencias. Nos permite inyectar cualquier valor en un componente o servicio Angular, no solo en una instancia de una clase. Normalmente, creamos un InjectionToken en algún lugar de la aplicación y lo usamos donde necesitamos inyectar ese valor.

Estas son las principales funciones de InjectionToken:

1. Identificación única: El InjectionToken es un identificador único que garantiza la unicidad de las dependencias. Esto es importante para evitar confusiones o conflictos en las dependencias.
2. Inyección de Dependencia No Clase: InjectionToken nos permite inyectar cualquier valor, no solo una instancia de una clase. Esto es útil en escenarios como configuraciones, constantes, cadenas, etc.
3. Configuración del proveedor: A través de la configuración del proveedor, podemos indicar a Angular cómo proporcionar una instancia de la dependencia para el InjectionToken. Esto nos permite proporcionar diferentes valores para InjectionTokens en distintos contextos.

Ahora, vamos a detallar el uso y el papel de InjectionToken con algunos ejemplos.

Inyectar la configuración de la app

Por ejemplo, inyectamos una configuración de aplicación con la dirección URL y el nombre del entorno, y el código es el siguiente:


A partir de la inyección del constructor, la impresión es la siguiente:



Referencia:

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




Anterior:Los servicios de consola .NET/C# están registrados con Consul Service Discovery
Próximo:Llama a la API OpenAPI de Alibaba Cloud para obtener el uso del servidor
 Propietario| Publicado el 17-2-2025 13:36:08 |
InjectionToken y BehaviorSubject se combinan para construir un valor dinámico global




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