Knockout.js 如何获得小组淘汰赛

Knockout.js 如何获得小组淘汰赛,knockout.js,Knockout.js,我可以使用foreach让我的记录重复,但是因为我使用的是CSS的网格系统,所以我想一次将这些记录分组四个(div class=“column”),每个(div class=“row”) 我没有看到一个很好的例子,如何以这种方式包装每条记录 有什么帮助吗?所以我不完全确定你想要什么,但你可以像这样手动分组 this.grouped=ko.computed(函数(){ 变量行=[],当前=[]; 行。推送(当前); 对于(变量i=0;i

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

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


有什么帮助吗?

所以我不完全确定你想要什么,但你可以像这样手动分组


this.grouped=ko.computed(函数(){
变量行=[],当前=[];
行。推送(当前);
对于(变量i=0;i

希望这有帮助。

谢谢!这对于静态阵列非常有效。但是当我对项目使用ko.observatarray时,什么都没有发生。是的,observatarray只是一个包装静态数组的函数,所以执行它会返回里面的静态数组。
<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);