Модуль доступа компонента
Я хочу получить доступ к модулю для компонента в моей системе. Я использовал следующий хак:
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 {
}
Я не хочу жестко кодировать имя модуля, потому что этот модуль может быть на уровне приложения, а этот код находится на уровне платформы. Я просто хочу получить динамический доступ к модулю компонента.