私は自分の問題の解決策を見つけようと夢中になっています。階層構造のJSオブジェクトがあり、階層のレベルが不明です。JQueryテンプレートとKnockoutJSを使用すると、<ul>
&を使用してツリー構造を取得できますが、<li>
私の要件は、子ごとに新しいものをレンダリングする必要があるため、構造が次のようになっているとします。Row
Table
{
Name: 'First',
Total: 100,
Set: [
{
Name: 'First_1', Total: 30,
Set: [{Name: 'First_1_1', Total: 10}, {Name: 'First_1_2', Total: 20}]
},
{ Name: 'First_2', Total: 0 }
]
}
表は次のようになります。
<table width="100%">
<tbody>
<tr><th>Name</th><th>Total</th></tr>
<tr><td>First</td><td>100</td></tr>
<tr><td>First_1</td><td>30</td></tr>
<tr><td>First_1_1</td><td>10</td></tr>
<tr><td>First_1_2</td><td>20</td></tr>
<tr><td>First_2</td><td>0</td></tr>
</tbody>
</table>
以下は私が思いついたフィドルです:http://jsfiddle.net/paragnair/xpsa4/
を使用している場合は、を使用ul
li
してテンプレートを再帰的に呼び出すことができます
<ul data-bind="template: {name: 'tree1', foreach: Set}"></ul>
しかし、私のテンプレート自体はで始まるので<tr>
、パーツでノードを記述せずにテンプレートを呼び出す方法がわかりませんdata-bind="template:{...}
か?最初の呼び出しは機能するので機能しますが、テンプレートを再帰的に呼び出して他のをレンダリングするためのinsideを含める<tbody>
ことはできません。tbody
tbody
tr
この説明で十分だと思います。詳細が必要な場合はお知らせください。どんな助けでも大歓迎です。