2

私はこのように、JavaScriptで2次元配列を持っています

        for (var i = 0; i < tab.length; i++) {
            for (var j = 0; j < tab[i].length; j++) {
                tab[i][j] = ko.observable(tab[i][j]);
            }
            tab[i] = ko.observableArray(tab[i]);
        }
        this.TabValues = ko.observableArray(tab);

今、列と行が固定されていないテーブルを作成したいと考えています。

<script type="text/html" id="table">     
        <table data-bind="template: {name: 'rows', foreach: TabValues}">

        </table>
</script>
<script type="text/html" id="rows">
    <tr data-bind="template: {name: 'columns', foreach: TabValues()[i]}">
    </tr>
</script>

これを実現するために、テーブル テンプレートを作成し、その中に行テンプレートを作成しました。しかし、foreachステートメントではインデックスが必要になるため、列のテンプレートを作成する方法がわかりません。しかし、私は何も持っていません。どうやってやるの。

これを修正する別の方法があるかもしれません。私の目的は、行/列のサイズが固定されていない編集可能なテーブルを作成することです。

誰かが私を助けてくれることを願っています。

4

1 に答える 1

2

内部テンプレート内で$data、現在のデータを参照するために使用できます。これはセルの配列になるので、"template: {name: 'columns', foreach: $data }".

これは本当に基本的な例です: http://jsfiddle.net/rniemeyer/KcghG/

于 2012-04-05T13:05:46.930 に答える