可以使用NgbActiveModal依赖注入来关闭模态窗口。在以模态方式打开的每个组件中,应注入NgbActiveModal依赖项并调用其close方法来关闭模态窗口。
示例代码如下:
在模态窗口组件中:
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
@Component({ // ... }) export class MyModalComponent { constructor(public activeModal: NgbActiveModal) {}
close() { this.activeModal.close(); } }
在调用模态窗口的组件中:
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { MyModalComponent } from './my-modal.component';
@Component({ // ... }) export class AppComponent { constructor(private modalService: NgbModal) {}
open() { const modalRef = this.modalService.open(MyModalComponent); modalRef.result.then((result) => { // 模态窗口已关闭 }).catch((error) => { // 模态窗口关闭出错 }); } }
在上面的示例代码中,MyModalComponent组件包含一个名为close的方法,该方法会使用NgbActiveModal依赖注入来调用模态窗口的close方法来关闭窗口。在调用模态窗口的组件中,使用NgbModal服务来打开窗口,并在result回调中监听窗口关闭事件。此时,您可以执行任何所需的操作。