【问题标题】:create custom durandal modal创建自定义 durandal 模态
【发布时间】: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


    【解决方案1】:

    好的,我设法解决了这个问题。点击绑定的问题被触发了两次,这是在修复点击处理程序后在 DOM 中插入两个 HTML 元素相关的问题,一切正常。

    【讨论】:

    • 请将此标记为答案以结束此问题。
    猜你喜欢
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    • 1970-01-01
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多