如何销毁 Angular 组件?

akk*_*kko 7 angular-components angular

我正在制作一个模态,并将其作为一个组件<modal-component>

里面<modal-component>有一个关闭按钮。<modal-component>当我点击那个按钮时我想销毁。

像这样的东西:

<button (click)="closeModal()">Close</button>
Run Code Online (Sandbox Code Playgroud)

我还可以将关闭按钮作为一个组件。如果有必要的话<close-modal>

这可能吗?

rit*_*taj 6

父级必须摧毁其子级。所以你可以发送一个来自孩子的事件

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

...
closeModal() {
    this.onClose.emit(true);
}
Run Code Online (Sandbox Code Playgroud)

并在父级中捕获事件:

<modal-component *ngIf="showModal" (onClose)="modalClosed($event)">
Run Code Online (Sandbox Code Playgroud)

和父组件:

modalClosed(isClosed) {
    this.showModal = false;
}
Run Code Online (Sandbox Code Playgroud)

*ngIf指令将处理其余的事情。

可能有一两个错误,我是在手机上...