0

我用 wijmo 创建了一个模态对话框。在对话框中,我想显示依赖于 knockoutjs 模型的内容。

<tr data-bind="visible:fields().length > 0">
    <td>Enter</td>
    <td>
        <div data-bind="foreach:fields">
            <span data-bind="text:$data"></span>
        </div>
    </td>
</tr>

条件(visible:fields().length > 0)按预期工作,如果我将任何内容添加到可观察集合中,将显示“Enter”。但是 foreach 的跨度永远不会出现。

我创建了以下http://jsfiddle.net/79uh3/来演示该问题。

如果绑定 wijdialog 的 div 被注释掉,则示例按预期工作。

4

1 回答 1

0

这是一种奇怪的行为。我发现的单一解决方案是将默认值添加到observable array

var VM = {
    fields: ko.observableArray([""]),
    newField: ko.observable(),
    addItem: function(){
        this.fields.push(this.newField());
    }
};  

JSFiddle 演示

于 2013-07-03T07:19:43.873 回答