Tokens de inyección
Inyecte valores que no sean clases mediante tokens.
Tokens de inyección es una lección gratuita de Angular Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Angular Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Angular Academy incluye 4 lecciones en total.
Tokens de inyección
No todas las dependencias son clases. Para inyectar valores como objetos de configuración, cadenas o interfaces, se usa un InjectionToken como clave única.
Por qué usar tokens
Las clases se pueden usar directamente como claves de DI, pero las interfaces y los valores primitivos no (las interfaces desaparecen en tiempo de ejecución). Un InjectionToken proporciona una clave estable y tipada para estos casos.
Crear un token
Cree un token con new InjectionToken<T>, pasando una descripción legible para las personas.
import { InjectionToken } from '@angular/core';
export const API_URL = new InjectionToken<string>('API_URL');El parámetro de tipo
El parámetro de tipo genérico (aquí, string) asigna un tipo al token para que los valores inyectados tengan el tipo correcto.
Proporcionar un valor para un token
Registre el token con un valor mediante useValue en un array providers.
// bootstrapApplication(AppComponent, {
// providers: [{ provide: API_URL, useValue: 'https://api.example.com' }]
// });Inyectar un token
Inyecte el token con la función inject para obtener su valor.
import { inject } from '@angular/core';
import { API_URL } from './tokens';
export class Api {
private baseUrl = inject(API_URL);
}Tokens para la configuración
Un uso habitual es la configuración de la aplicación: defina una interfaz, cree un token con ese tipo y proporcione un objeto de configuración.
export interface AppConfig { title: string; retries: number; }
export const APP_CONFIG = new InjectionToken<AppConfig>('APP_CONFIG');Proporcionar la configuración
A continuación, proporcione el valor de configuración durante el arranque.
// providers: [{ provide: APP_CONFIG, useValue: { title: 'My App', retries: 3 } }]Valores predeterminados de fábrica
Un token puede proporcionar un valor predeterminado mediante una fábrica en sus opciones, de modo que funcione incluso sin un proveedor explícito.
export const RETRIES = new InjectionToken<number>('RETRIES', {
providedIn: 'root',
factory: () => 3
});Tokens frente a clases
Use una clase como clave cuando la dependencia sea una clase de servicio. Use un InjectionToken al inyectar valores que no sean clases: configuraciones, valores primitivos u objetos tipados mediante interfaces.
Evitar cadenas mágicas
Los InjectionToken sustituyen las frágiles claves de cadena por identificadores tipados y sin colisiones, y detectan los errores en tiempo de compilación.
Comprobación rápida: tokens
Inyectar valores que no son clases.
Resumen: tokens de inyección
Ha aprendido que InjectionToken proporciona claves tipadas para inyectar valores que no son clases, como objetos de configuración, cadenas y datos tipados mediante interfaces. Cree uno con new InjectionToken, proporciónelo con useValue o con un valor predeterminado de fábrica, e inyéctelo con inject(). Ha completado el curso Inyección de dependencias.
Preguntas frecuentes
¿La lección «Tokens de inyección» es gratis?
Sí — el texto completo de «Tokens de inyección» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Angular Academy, actualiza a CoddyKit PRO. El curso de Angular Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Tokens de inyección»?
Inyecte valores que no sean clases mediante tokens. Practicas Angular Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Angular Academy?
No se requiere experiencia previa. Angular Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Tokens de inyección»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Angular Academy?
Sí. Cada lección de Angular Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Servicios e Injectable
- La función inject
- Proveedores y ámbitos
- Tokens de inyección