简单模态弹出后,数据绑定不起作用

时间:2011-06-29 17:48:18

标签: simplemodal knockout.js

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

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

ko.applyBindings(viewModel);

这个相应的观点:

<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. 添加按钮不起作用
  5. 我无法使用:

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

    因为我的应用程序html在$.modal()时无法呈现。

    或者把它作为另一个问题:当我的viewModel发生变化时,我怎么知道html渲染何时完成?

1 个答案:

答案 0 :(得分:9)

尝试传递persist:true,以获得modal()的选项,如:

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

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