durandal非常方便,但是我没有看到一种可以通过编程关闭它的方法(例如,如果用户单击back按钮或任何其他触发canDeactivate()的场景,我可能需要这样做)。
如何以编程方式关闭messagebox?
作为另一种选择,有一种方法可以让我关闭所有打开的对话框(无论它们是通过show()还是showMessage()触发的)。
发布于 2014-01-27 10:01:46
实际上,深入研究一下源代码就会发现这一点非常明显。showMessage只是在幕后使用show,所以我们可以只使用系统MessageBox构造函数来利用封装的功能,同时仍然拥有VM的句柄,以防以后需要关闭它。
var vm = new dialog.MessageBox('message', 'title', ['option1', 'option2']);
dialog.show(vm);
//somewhere else - forcibly close the dialog
dialog.close(vm);https://stackoverflow.com/questions/21371582
复制相似问题