В Angular зависимости обычно предоставляются через инжекторы, зарегистрированные в дереве компонентов или на уровне приложения. Однако в некоторых случаях может потребоваться создать зависимость вне контекста стандартного механизма DI (Dependency Injection). Метод
Injector.create() предоставляет возможность вручную создать инжектор и настроить его с необходимыми зависимостями. Пример:
import { Injector } from '@angular/core';
class LoggerService {
log(message: string) {
console.log('Logger:', message);
}
}
// Создаем локальный инжектор с конфигурацией
const injector = Injector.create({
providers: [
{ provide: LoggerService, useClass: LoggerService }
]
});
// Получаем экземпляр LoggerService из инжектора
const logger = injector.get(LoggerService);
logger.log('Динамическое создание зависимости выполнено!');
В данном примере создается инжектор, регистрирующий
LoggerService в локальном контексте. 👉 @sWebDev
