tgoop.com/sWebDev/3482
Create:
Last Update:
Last Update:
Использование runInInjectionContext() для доступа к DI вне компонентов
В Angular инъекция зависимостей (DI) обычно применяется в компонентах и сервисах с использованием декораторов. Однако, если необходимо использовать DI в обычных функциях или классах без Angular-декораторов, можно воспользоваться методом runInInjectionContext()
.
Пример:
import { inject, runInInjectionContext, Injectable, EnvironmentInjector } from '@angular/core';
@Injectable({ providedIn: 'root' })
class MyService {
logMessage() {
console.log('Hello from MyService!');
}
}
function executeWithDI(injector: EnvironmentInjector) {
runInInjectionContext(injector, () => {
const myService = inject(MyService);
myService.logMessage();
});
}
В этом примере функция executeWithDI принимает EnvironmentInjector и использует
runInInjectionContext()
для создания контекста инъекции. Внутри этого контекста вызывается функция inject()
для получения экземпляра MyService, после чего вызывается метод logMessage()
. 👉 @sWebDev
BY Frontender Libs - обзор библиотек JS / CSS

Share with your friend now:
tgoop.com/sWebDev/3482