2

传入的数据是这样的[[1,2,3],[4,5,6]],有时是这样的[[1,2],[4,5]]。这是HTML。

<button data-bind="click: refreshJSON">Test</button>
<table>
    <tbody data-bind="foreach: array">
        <tr data-bind="foreach: subarray">
            <td data-bind="text: $data"></td>
        </tr>
    </tbody>
</table>

<script type="text/javascript">


    var ViewModel = {

        tableModel : ko.observableArray([[1,2,3],[4,5,6]]),

        refreshJSON : function(){
            this.tableModel([[1,2],[4,5]]);
        }

    };

    ko.applyBindings(ViewModel);

</script>

我猜我必须ko.observableArray()在每个子数组上使用,但是我不清楚如何执行此操作,或者如何data-binds在 HTML 中执行。

4

1 回答 1

5

更新:删除了 observableArray 位中的 observableArray。显然这行不通。只需绑定您的外部集合。

绑定部分相当简单:

<div data-bind="foreach: tableModel">
    <div data-bind="foreach: $data">
        <span data-bind="text: $data"></span>
    </div>
</div>
于 2012-10-15T19:08:22.783 回答