Я использую этот способ внедрения в этом сценарии, когда я хочу использовать службу Angular в своем пользовательском классе, но я не могу внедрить его непосредственно в конструктор. Поэтому мне нужен экземпляр Injector
.
import {Injector, NgModule} from '@angular/core';
export let InjectorInstance: Injector;
@NgModule({
/* *** */
})
export class FeatureModule {
constructor(private injector: Injector) {
InjectorInstance = this.injector;
}
}
А затем используйте его в моих пользовательских классах для внедрения сервисов Angular следующим образом:
import {InjectorInstance} from 'pat-to-feature-module';
export class MyCustomClass{
getHttpService = () => {
return InjectorInstance.get<HttpClient>(HttpClient);
};
}
Таким образом, я использую (внедряю) сервисы, созданные Angular. Возможно, есть другие способы использования этой функциональности.