我正在努力使durandal自定义模态对话框工作。我遇到了很多问题。
1)我无法使用带有按钮的简单html显示对话框,作为视图。
我的自定义对话框:
define(['knockout', 'durandal/app', 'viewmodels/shell'], function (ko, app, shell)
{
var vm =
{
buttonCancel: buttonCancel,
canActivate: function () {
return true;
},
activate: function () {
},
attached: function () {
},
canDeactivate: function () {
return true;
},
};
function buttonCancel() {
dialog.close(vm, 1);
}
return vm;
});
自定义视图:
<div>
Hello There!
<input type="button" class="btn btn-default" data-bind="click: buttonCancel">Close</input><br/>
<input type="button" class="btn btn-default" data-bind="click: buttonCancel">Close</input><br />
<input type="button" class="btn btn-default" data-bind="click: buttonCancel">Close</input><br />
</div>
在父视图模型中,我按如下方式调用上面的自定义对话框:
app.showDialog(testmodal,{title:&#39; hello&#39;}); // testmodal是require(&#39; viewmodels / testmodal&#39;);
当调用上面的fn时,它看起来像是弹出的东西,因为我可以看到当前视图的顶部徽标消失,但自定义模式并没有真正显示。
我找不到任何关于如何将实现durandel事件的普通durandal视图模型用作自定义模式对话框的好例子。
注意:我有另一个viewmodel,我可以使用相同的上面的代码调用,但是当我尝试单击模式上的一个按钮,该按钮绑定到一个关闭对话框的函数(从对话框中的内部)抛出错误为如下:
&#39; activator.js:141 Uncaught TypeError:无法读取属性&#39;然后&#39;未定义&#39;。
任何人都可以帮助我提供一个关于如何使用durandel事件和可观察事件的典型视图模型作为模态对话调用并通过单击对话框上的按钮关闭的小提琴吗?我很高兴能够实现这一点,我不确定我做错了什么。感谢您的帮助。