【问题标题】:Data binding does not work after simple modal popup简单模式弹出后数据绑定不起作用
【发布时间】:2011-06-29 17:48:18
【问题描述】:

请考虑以下代码(也在this fiddle):

var viewModel = {
    count:ko.observable(0),
    add:function (){
    this.count(this.count()+1);
        },
    popup:function (){
    $.modal($("#divPopup"));
    }
}

ko.applyBindings(viewModel);

还有这个对应的View:

<button id="btnAdd" data-bind="click:add">Add</button>
<button id="btnPopup" data-bind="click:popup">Popup</button>
<div id="divPopup">
    <span data-bind="text:count"></span>
</div>

现在:

  1. 点击添加按钮
  2. 点击弹出按钮
  3. 点击模态窗口的右上角(抱歉我没有“x”图片)
  4. 添加按钮不起作用

我不能使用:

$.modal($("#divPopup").html());

因为在我的应用程序中,当$.modal() 时,html 不会呈现。

或者说是另一个问题:当我的 viewModel 发生变化时,我如何知道 html 渲染何时完成?

【问题讨论】:

    标签: simplemodal knockout.js


    【解决方案1】:

    尝试将 persist: true 传递给 modal() 的选项,例如:

    $("#divPopup").modal({ persist: true });
    

    http://jsfiddle.net/rniemeyer/BxVF9/

    【讨论】:

    • 天哪,谢谢你,我已经为此苦苦挣扎了好几个小时了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多