我有一個簡單的具有傳統一對多關係的視圖模型:客戶有訂單。
我創建了一個表格,每行都有一個客戶名稱和一行訂單。這一切都很好,但不幸的是很少有客戶有相同數量的訂單,所以建立表格最終看起來像是一個橫向條形圖。包含可變長度元素的表格的jsRender模板
我知道有一個標準的解決方案,但我不能爲我的生活弄明白。我要做的是讓每一行都包含相同數量的單元格。我曾考慮過將虛擬數據放入我的模型中,但那味道很糟糕。我可以獲得儘可能多的訂單,但我似乎無法弄清楚如何設計可以使用任何信息創建統一表的模板。這是我到目前爲止有:
//#data is my ViewModel containing a few other things
<table id="ordersTable">
<!--header stuff-->
<tbody>
{{for #data.Customers tmpl='tmplRow' /}}
</tbody>
// OrderRow.tmpl.html
{{if #index % 2 == 0}}
<tr class="tableRowAlt1">
{{else}}
<tr class="tableRowAlt2">
{{/if}}
<td>{{>Name}}</td>
<td></td>
{{for Orders }}
<td>
{{>OrderId}}
</td>
{{/for}}
</tr>
編輯:所以我決定只強制列numbe,但現在我得到我的新一些奇怪的行爲模板:
// OrderRow.tmpl.html
{{if #index % 2 == 0}}
<tr class="tableRowAlt1">
{{else}}
<tr class="tableRowAlt2">
{{/if}}
<td>{{>Name}}</td>
<td>
{{>Order[0].Id}}
</td>
<td>
{{>Order[1].Id}}
</td>
<!--...-->
</tr>
它呈現「Order.0爲空或不是對象。」我已驗證每行都有數據,但模板認爲它沒有。我想這與我正在尋找數組元素的事實有關,但我不確定如何通過jsRender將接受的方式按索引訪問元素。