如何让Knockout组织foreach

Chr*_*ris 9 knockout.js

我可以让我的记录重复使用foreach,但因为我正在使用CSS的网格系统,我想为每个(div class ="row")一次四个这些记录分组(div class ="column") .

我没有看到一个很好的例子,如何以这种方式包装每个记录.

有帮助吗?

mad*_*kay 18

所以我不完全确定你的目标是什么,但你可以像这样手动分组.

http://jsfiddle.net/madcapnmckay/hFPgT/1/

<div data-bind="foreach: grouped" >
    <div data-bind="foreach: $data" class="row">
        <div class="column" data-bind="text: text"></div>
    </div>
</div>    

this.grouped = ko.computed(function () {
        var rows = [], current = [];
        rows.push(current);
        for (var i = 0; i < this.items.length; i += 1) {
            current.push(this.items[i]);
            if (((i + 1) % 4) === 0) {
                current = [];
                rows.push(current);
            }
        }
        return rows;
}, this);
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.