durandal messageBox非常方便,但是我没有看到以编程方式关闭它的方法(例如,如果用户点击后退按钮或任何其他触发canDeactivate()
的场景,我可能需要这样做)。
如何以编程方式关闭邮箱?
作为替代方案,允许我关闭所有打开的对话框(无论是通过show()
还是showMessage()
触发)的方法也可以正常工作。
答案 0 :(得分:0)
实际上,挖掘源代码有点让人非常明显。 showMessage
只是使用了show
,所以我们可以使用系统MessageBox构造函数来利用固定功能,同时仍然拥有VM的句柄,以防我们以后需要关闭它。 / p>
var vm = new dialog.MessageBox('message', 'title', ['option1', 'option2']);
dialog.show(vm);
//somewhere else - forcibly close the dialog
dialog.close(vm);