这个问题暴露了一个问题:integration jquery ui dialog with knockoutjs
我有模型,其中包含这样的项目数组:
var viewModel = {
items: ko.observableArray([])
}
viewModel.items.push(new DialogModel("title 1"));
viewModel.items.push(new DialogModel("title 2"));
viewModel.items.push(new DialogModel("title 3"));
接下来我使用foreach
语句在标记中显示这些项目
<div data-bind="foreach: items">
<div data-bind="text: title"></div>
<button data-bind="click: open">Open</button>
<button data-bind="click: close" >Close</button>
</div>
我需要在单击按钮时显示 JQueryUI 对话框,并且该对话框应绑定到 ItemModel 实例。我不想在循环中包含对话框代码,因为它正在复制结果 DOM 并使其变得巨大。例如,我想在模板中使用对话框。
JSFiddle 样机在这里http://jsfiddle.net/YmQTW/8/
有什么想法吗?