Проверяет понимание InjectionToken в Angular для создания уникальных ключей провайдеров.
InjectionToken — это класс из библиотеки @angular/core, который служит уникальным идентификатором для регистрации и внедрения зависимостей в Angular. Он решает проблему, когда нужно предоставить не класс, а, например, конфигурационный объект, строку или функцию. Без InjectionToken пришлось бы использовать строковые ключи, что может привести к коллизиям имен.
InjectionToken создается с помощью оператора new и принимает опциональное описание. Затем он используется в массиве providers модуля или компонента для регистрации значения. При внедрении зависимости через конструктор Angular использует этот токен для поиска соответствующего провайдера.
import { InjectionToken } from '@angular/core';
export const API_URL = new InjectionToken<string>('api.url');
// В модуле
providers: [
{ provide: API_URL, useValue: 'https://api.example.com' }
]
// В компоненте
constructor(@Inject(API_URL) private apiUrl: string) { }InjectionToken — это мощный инструмент для типизированной и безопасной регистрации зависимостей в Angular. Его стоит применять всегда, когда нужно внедрить не класс, чтобы избежать ошибок и улучшить читаемость кода.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию