Модуль доступа компонента

Я хочу получить доступ к модулю для компонента в моей системе. Я использовал следующий хак:

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 {
    }

Я не хочу жестко кодировать имя модуля, потому что этот модуль может быть на уровне приложения, а этот код находится на уровне платформы. Я просто хочу получить динамический доступ к модулю компонента.

0 ответов

Другие вопросы по тегам