在Angular 7中关闭另一个组件的模态框,可以通过以下步骤实现:
isModalOpen: boolean = false;
。*ngIf
指令来判断isModalOpen
变量的值,如果为true,则显示模态框。<app-modal *ngIf="isModalOpen"></app-modal>
@Output
装饰器和事件触发器,将关闭模态框的操作传递给父组件。在子组件的.ts文件中,声明一个@Output
属性和一个触发关闭模态框的方法。import { Component, Output, EventEmitter } from '@angular/core';
@Component({
selector: 'app-modal',
template: `
<!-- 模态框内容 -->
<div class="modal">
<!-- 模态框关闭按钮 -->
<button (click)="closeModal()">关闭</button>
</div>
`,
})
export class ModalComponent {
@Output() closeModalEvent = new EventEmitter();
closeModal() {
this.closeModalEvent.emit();
}
}
isModalOpen
变量设置为false,从而关闭模态框。import { Component } from '@angular/core';
@Component({
selector: 'app-parent',
template: `
<!-- 父组件内容 -->
<button (click)="openModal()">打开模态框</button>
<app-modal (closeModalEvent)="closeModal()"></app-modal>
`,
})
export class ParentComponent {
isModalOpen: boolean = false;
openModal() {
this.isModalOpen = true;
}
closeModal() {
this.isModalOpen = false;
}
}
通过以上步骤,当点击父组件中的"打开模态框"按钮时,模态框将显示出来。而在模态框中点击"关闭"按钮时,将触发子组件的关闭模态框事件,并通过父组件的事件处理程序将isModalOpen
变量设置为false,从而关闭模态框。
请注意,以上示例中的组件名称和选择器仅供参考,实际应根据项目需求进行调整。
领取专属 10元无门槛券
手把手带您无忧上云