离开页面时关闭一个durandal对话框

时间:2013-11-08 14:12:57

标签: knockout.js dialog durandal

我使用Durandal的对话框插件创建了一个自定义对话框上下文。该对话框不使用'blockout',基本上使其成为非模态的。一切正常。我面临的问题是用户可以离开创建对话框的视图(使用Durandal的dialog.show() - 方法),这样就可以在DOM中看到对话框了。

我的问题是双重的:为了解决我的直接问题,我想知道是否有可能获得对我创建的对话框的引用,所以我可以在创建对话框的viewmodel中关闭它。

其次,为了解决这个一般性问题,我希望在取消激活视图时始终关闭所有打开的对话框,而不必为每个视图显式编码。由于我是Durandal的新手,我不确定这样做的最佳方法是什么。

任何解决这些问题的建议都将受到赞赏:)

1 个答案:

答案 0 :(得分:0)

也许反过来呢?使用custom dialogs,您可以将视图模型传递给对话框,然后可以在停用视图模型时订阅事件并关闭自身。

要以通用方式执行此操作,您可以从单独模块中的原型继承该订阅代码。