2014-01-27 80 views
0

durandal messageBox非常方便,但是我没有看到我可以通过编程方式关闭它的方式(例如,如果用户点击后退按钮或任何其他发生的情况,我可能需要这样做canDeactivate() )。关闭durandal消息框

如何以编程方式关闭消息框?

作为一种替代方法,允许我关闭所有打开的对话框(无论它们是通过show()还是showMessage()触发)的方法都可以正常工作。

回答

0

其实,挖掘源代码有点让人觉得很明显。 showMessage只是使用show,所以我们可以使用系统MessageBox构造函数来利用预设的功能,同时仍然有一个虚拟机的句柄,以备日后需要关闭时使用。

var vm = new dialog.MessageBox('message', 'title', ['option1', 'option2']); 
dialog.show(vm); 

//somewhere else - forcibly close the dialog 
dialog.close(vm);