是否可以在不使用仅材料自举的情况下以角度6打开模态?

时间:2018-10-02 13:45:39

标签: angular modal-dialog bootstrap-4

我有左杠组件。在该组件内部,我有用于打开模式的按钮。如何从该按钮打开模式,但不能在该组件内部打开它?

1 个答案:

答案 0 :(得分:2)

您可以将modal代码添加到父母.component.html内,以便在整个页面上可用。

对于ng-bootstrap(例如),它应该看起来像这样:

<ng-template #myModal>
    <div class="modal-header">
        ...
</ng-template>

现在,您可以在孩子的组件(左栏组件)中添加打开此模式的输出:

@Output() openmodal: EventEmitter<boolean> = new EventEmitter();

通过按下按钮

<button (click)="openMyOpen()">Open Modal</button>

您可以触发输出

openMyOpen(): void {
    this.openmodal.emit(true);
}

在父母的组件中,如果已配置,您将收到此输出

<left-bar (openmodal)="open($event, )"></left-bar>

然后在此组件中打开模态

@ViewChild('myModal') myModal: NgbModal;

open(): void {
   this.modalService.open(this.myModal);
}

请不要说此解决方案使用ng-bootstrap,但可以根据您想使用的任何模式进行调整。