13

MVC 4 と knockout.js ライブラリ バージョン 2.1.0 を使用して、サーバーから取得した多数のファイルを表示するために使用している表からの抜粋を次に示します。

    <tr data-bind="foreach: files, visible: (files() && files().length > 0)">
        <td data-bind="text: UploadPath" />
        <td data-bind="text: FileName" />
    </tr>

データは適切に取得されていますが、foreach はテーブル内の TR ではなく TD 要素を繰り返しています。したがって、ファイルが 100 個ある場合、ユーザーに表示されるテーブルには 200 列が表示されます。TR 要素を各ファイルで繰り返すにはどうすればよいですか?

4

2 に答える 2

24

次の(外側の)要素に「foreach」バインディングを配置するだけです。

<table data-bind="foreach: files, ...">
    <tr>
        ...

仮想要素を利用することもできます:

<!-- ko foreach: files -->
<tr>
    <td>
        ...
</tr>
<!-- /ko -->
于 2012-08-24T14:42:05.473 に答える