【发布时间】:2014-07-23 20:09:33
【问题描述】:
我正在尝试为 durandal 2.1 开发自定义模态插件以拥有自己的逻辑并将其从我的应用程序的其余部分中抽象出来,这是我目前所拥有的,但有些东西不起作用,并且模态被两次插入 DOM
define(['jquery', 'knockout', 'plugins/dialog'], function ($, ko, dialog) {
var modal = {
install: function (config) {
dialog.addContext("Modal", {
addHost: function (theDialog) {
var body = $("body");
$('<div id="Dialog" class="AlignC"><div class="ModalHost"></div></div>').appendTo(body);
theDialog.host = $('#Dialog').get(0);
},
removeHost: function (theDialog) {
alert("demoving host");
$("#Dialog").remove();
},
compositionComplete: function (child, parent, context) {
var theDialog = dialog.getDialog(context.model);
}
});
}
};
return modal;
});
这是我从视图模型中调用它的方式
dialog.show(this, null, 'Modal');
谁能告诉我这段代码有什么问题,为什么我的模型元素被插入两次并相互重叠。我该如何解决。
第二个元素里面没有内容。
顺便说一下,这是我试图在模态中显示的视图
<span class="Loader"></span>
<div class="Modal">
<h2 class="Caps">SomeName</h2>
<div class="Row">
<input type="text" />
</div>
<div class="Desc">
description
<br />
XXY YYX XXY
</div>
<div class="Buttons">
<span class="Green">Check</span>
<span>Add</span>
</div>
</div>
【问题讨论】:
标签: modal-dialog durandal