Sam*_*Sam 6 jquery nested jquery-templates
我正在尝试使用嵌套的jQuery模板在表中显示JSON数据.
我可以让它只能达到第一级.
这是我想要实现的一个例子:
A Client有一个订单列表和一个Fullname.使用clientTemplate和显示orderTemplate.到目前为止,一切正常.
现在,Order有一个列表Products.因此,我调用一个productTemplate从内orderTemplate.并且数据没有绑定:(
我猜这是因为我正在传递$data给productTemplate并$data指向顶级对象(the Client).但是如何通过当前的订单呢?
这是我的模板:
<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>
Run Code Online (Sandbox Code Playgroud)
在 an 的上下文中{{each}},您必须使用$value而不是$data引用迭代项:
{{tmpl($value) "#productTemplate"}}
Run Code Online (Sandbox Code Playgroud)