首页 > 解决方案 > 如何在 Angular 中使用 Nativescript 关闭模态窗口?

问题描述

我有一个使用模态服务的模态:

import { ModalDialogService } from "nativescript-angular/directives/dialogs";    
private modal: ModalDialogService,

例如,我可以调用模态

  this.modal.showModal(MyModalComponent, options).then(res => {
      // console.log(res);
  }); 

现在我想关闭模态,但不是从模态本身内部。这已经在 iOS 中有效:

        const page = topmost().currentPage;
        if (page && page.modal) {
          page.modal.closeModal();
        } else {
          console.log("error closing modal!!!!");
        }

但是在 Android 上运行它,它总是会出现错误 console.log,导致模态不被关闭。用户仍然可以关闭它(模式有一个关闭按钮),但我也想以编程方式关闭模式。

标签: androidangularmodal-dialognativescript

解决方案


这不是您在 Angular 中应该采用的方式。注入ModalDialogParams并使用该closeCallback方法。

constructor(private modalDialogParams: ModalDialogParams) {}

onCloseButtonTap() {
    this.modalDialogParams.closeCallback();
}

推荐阅读