在durandal / knockout中取消(关闭)模态时通知主页

时间:2015-11-07 00:41:22

标签: javascript knockout.js durandal

我有一个带取消/关闭按钮的模态。

<button type="button" class="close" data-bind="click: close" aria-hidden="true">&times;</button>

当用户使用取消关闭对话框时,我想通知主页页面用户取消(而不是提交)表单。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

在durandal中打开模态时,该方法返回一个在对话框关闭时解析的promise。

来自http://durandaljs.com/documentation/Showing-Message-Boxes-And-Modals.html

的示例
app.showMessage('This is a message.').then(function(dialogResult){
    //do something with the dialog result here
});

使用自定义模式时,在执行dialog.close()时创建自己的dialogResult

所以你会做类似的事情:

submit: function() {
    dialog.close( this, "submitted" );
}
close: function() {
    dialog.close( this, "closed" );
}

然后在您的主机页面中,您的代码将是:

app.showDialog('views/dialogs/confirm').then(function(dialogResult){
  if( dialogResult == 'closed' ) 
      // User closed instead of submitting
});