Как использовать существующий компонент внутри всплывающего окна в другом компоненте в Angular 7? - PullRequest
0 голосов
/ 22 января 2020

Я нашел несколько соответствующих ответов (<ng-content>, createCustomElement, componentFactoryResolver), но я немного запутался в том, каково решение моей проблемы.

Цель : Я хотел бы повторно использовать существующий компонент, который содержит много логик c во всплывающем окне.

Вариант использования : componentA - это тот, который я хочу повторно использовать в качестве черного ящика. Я уже использую этот компонент, перейдя к нему (он имеет свой собственный маршрут). Я также хотел бы использовать его внутри componentC со всеми его функциональными возможностями без изменения текущего маршрута, в котором находится пользователь. Я думал о создании оболочки componentB в качестве всплывающего окна, включающего componentA.

компонент C .template. html

<my-pivot #pivot
          *ngIf="flexMonsterKey"
          [licenseKey]="flexMonsterKey"
          [toolbar]="true"
          [width]="'100%'"
          [height]="500"
          (beforetoolbarcreated)="customizeToolbar($event, BI)"
          (celldoubleclick)="doubleClickPivotCell($event)">
</my-pivot>

компонент C .component.ts

public doubleClickPivotCell(cell: any) {
    if (cell && cell.isDrillThrough) {
        if (cell.measure && cell.measure.uniqueName === "ID") {
            //open Document in a popup - componentA
        }
    }
}

componentB.template. html

<kendo-dialog title="myDocument">
    <componentA></componentA>
</kendo-dialog>

Итак, какой код я должен написать в моем файле componentB.component.ts , так как он будет просто оберткой без каких-либо актуальная функциональность и как мне открыть componentA из componentC?

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...