8

現在私は持っています:

<div data-bind="foreach: list">
</div>

そして必要:

<div data-bind="foreach: /* 1st half of the list */">
</div>
<div data-bind="foreach: /* 2nd half of the list */">
</div>

2 つの別々のオブザーバブルまたは計算されたものを使用しないようにすることをお勧めします。

4

4 に答える 4

12

配列sliceメソッドを使用して、2 つのコレクションを作成できます。

<div data-bind="foreach: list.slice(0, list.length / 2) ">
    <span data-bind="text: $data" />
</div>
<div data-bind="foreach: list.slice(list.length / 2)">
    <span data-bind="text: $data" />
</div>

監視可能な配列がある場合は、バインディングを少し変更する必要があります。

<div data-bind="foreach: list.slice(0,list().length / 2) ">
    <span data-bind="text: $data"/>
</div>
<div data-bind="foreach: list.slice(list().length / 2)">
    <span data-bind="text: $data"/>
</div>

JSFiddleのデモ。

于 2013-03-05T08:45:21.837 に答える
2

監視可能な配列を使用する安全でクリーンな例

<!-- ko with: myObservableArray -->
    <div data-bind="foreach: $data.slice(0, $data.length / 2)">
        <span data-bind="text: $data"/>
    </div>
    <div data-bind="foreach: $data.slice($data.length / 2)">
        <span data-bind="text: $data"/>
    </div>
<!-- /ko -->
于 2014-09-04T02:27:56.643 に答える
0

1 つの行と 2 つのセルを含む外側のテーブルを作成するだけで、最初のセル内に偶数インデックスのみを含む別のテーブルを配置できます。2 番目のセルでは、奇数インデックスにバインドします。

        <table style="table-layout:fixed;">
            <tr>
                <td>
                    <table style="table-layout:fixed;">
                        <tbody data-bind="foreach: someObservableArray">
                            <!--ko if: $index() % 2 == 0 -->
                            <tr>
                                <td data-bind="text: somePropertyInArrayObject"></td>                                 
                            </tr>
                            <!--/ko-->
                        </tbody>
                    </table>
                </td>
                <td>
                    <table style="table-layout:fixed;">
                        <tbody data-bind="foreach: someObservableArray">
                            <!--ko ifnot: $index() % 2 == 0 -->
                            <tr>
                                <td data-bind="text: somePropertyInArrayObject"></td>                                    
                            </tr>
                            <!--/ko-->
                        </tbody>
                    </table>
                </td>
            </tr>
        </table>
于 2016-05-23T17:26:13.180 に答える