Я пытаюсь отобразить данные JSON в таблице, используя вложенные шаблоны jQuery.
Я могу заставить его работать только до первого уровня.
Вот пример того, чего я пытаюсь достичь:
Клиент
имеет список заказов и полное имя
. Это отображается с помощью clientTemplate
и orderTemplate
. До этого момента все работает нормально.
Теперь в Заказе
есть список продуктов
. Поэтому я вызываю productTemplate
из orderTemplate
. И данные не привязаны :(
Я предполагаю, что это потому, что я передаю $ data
в productTemplate
, а $ data
относится к объект верхнего уровня ( Клиент
). Но как мне передать текущий Ордер?
Вот мои шаблоны:
<script id="clientTemplate" type="text/x-jquery-tmpl">
<tr><td>Fullname</td></tr>
<tr><td>${Fullname}</td></tr>
<tr>
<td>
<table>
<tr><td>Order Id</td><td>Order Date</td></tr>
{{tmpl($data) "#orderTemplate"}}
</table>
</td>
</tr>
</script>
<script id="orderTemplate" type="text/x-jquery-tmpl">
{{each Orders}}
<tr>
<td>${Id}</td>
<td>${DateOrder}</td>
</tr>
<tr>
<td>
<table>
<tr><td>Product Id</td><td>Quantity</td></tr>
{{tmpl($data) "#productTemplate"}}
</table
</td>
</tr>
{{/each}}
</script>
<script id="productTemplate" type="text/x-jquery-tmpl">
{{each ProductList}}
<tr>
<td>${Id}</td>
<td>${Quantity}</td>
</tr>
{{/each}}
</script>