2011-12-14 186 views
6

我想在使用嵌套jQuery模板的表中顯示JSON數據。嵌套jQuery模板

我可以讓它工作到第一級別。

這裏是我想要達到一個例子:

一個Client有訂單和Fullname的列表。這使用clientTemplateorderTemplate顯示。到目前爲止,一切正常。

現在,Order有一個列表Products。所以我從orderTemplate內撥打productTemplate。而數據未綁定:(

我猜這是因爲我傳遞$dataproductTemplate$data指的是頂層對象(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> 

回答

3

在一個{{each}}的情況下,你必須使用$value,而不是$data指迭代項目:

{{tmpl($value) "#productTemplate"}} 
+0

我不知道!非常感謝幫助:) – Sam 2011-12-14 19:53:00