android - 如何在 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,导致模态不被关闭。用户仍然可以关闭它(模式有一个关闭按钮),但我也想以编程方式关闭模式。
解决方案
这不是您在 Angular 中应该采用的方式。注入ModalDialogParams
并使用该closeCallback
方法。
constructor(private modalDialogParams: ModalDialogParams) {}
onCloseButtonTap() {
this.modalDialogParams.closeCallback();
}
推荐阅读
- c# - 在 .NET Framework 项目的 Azure 管道中生成的 NuGet 依赖项版本不正确
- html - 是否有适用于 Firefox 和 Chrome 的 CSS 分栏解决方案
- azure - 如果事件是批处理的,则 Azure 事件网格成本核算
- android - Sweet Alert Dialog 的确认按钮显示太细
- python - 如何更新 StyleFrame 值?
- css - justify-content 问题,align 有效但不合理?
- python - MovieWriter ffmpeg 不可用;试图使用
反而 - visual-studio-code - VS Code 2017 F12 或 Crtl Click Goto Definition 不起作用,Angular 7.3.9
- node.js - 如何混合原生插件和模块?
- angular - 使用 Angular 直接打印收据