Я хочу получить доступ к модулю для компонента в моей системе.Раньше я использовал следующий хак:
export abstract class BaseComponent {
constructor(private _compiler: Compiler) {
}
get parentModule() {
return (this._compiler as any)._ngModule; // XXX hack, _ngModule not exposed via API
}
Неудивительно, что это сломалось в недавнем обновлении.
Что такое законный способ получения модулякомпонента?
Предыстория: Мой проект разделен на две части кода: независимый от приложения уровень структуры, содержащий повторно используемые элементы управления и библиотеки, и уровень приложения, содержащий любые приложения.конкретный код / директивы.На уровне структуры у меня есть код, который генерирует динамический компонент, который оборачивает существующий компонент во время выполнения.Этот динамический компонент должен иметь доступ к тому же импорту, что и компонент, к которому он относится.
Способ, которым я справляюсь с этим, заключается в импорте родительского модуля компонента, который я обертываю:
@NgModule({
imports: [BrowserModule, CommonModule, FormsModule, this.parentModule],
exports: [ InjectedComponent ],
declarations: [ InjectedComponent ],
entryComponents: [ InjectedComponent ],
})
class InjectedModule {
}
Я не хочу жестко задавать имя модуля, потому что этот модуль может бытьна уровне приложения, и этот код находится на уровне платформы.Я просто хочу получить динамический доступ к модулю компонента.