在模板中渲染列表

时间:2012-10-24 14:41:34

标签: javascript jquery handlebars.js mustache

我使用Handlebar / Moustache模板在我的ASP.NET MVC应用程序中呈现以下视图模型。我在表格中显示以下字段。 ContactList是联系人列表(具有FirstName,LastName,Address等)。

public string FirstName { get; set; }
public string LastName { get; set; }
public string Address { get; set; }       
public List<Contact> ContactList { get; set; }



<table
    <tbody>                         
                    <tr>        
                        <td>First Name</td>                    
                        <td>{{this.FirstName}}</td>
                    </tr>   
                    <tr>    
                        <td>Last Name</td>                   
                        <td>{{this.LastName}}</td>
                    </tr>
                    <tr>        
                        <td>Address</td>                           
                        <td>{{this.Address}}</td>
                    </tr>   
    <tr>    
                        <td>Contact List</td>                   
                        **<td>//how to process the ContactList?//</td>**
                    </tr>
</tbody>                                  
                </table>

我想知道如何遍历此列表并将其作为一行显示在同一个表中?

1 个答案:

答案 0 :(得分:1)

来自handlebars site

您可以使用内置的each帮助程序迭代列表。在块内,您可以使用this来引用正在迭代的元素。

<ul class="people_list">
  {{#each people}}
  <li>{{this}}</li>
  {{/each}}
</ul>

与此上下文一起使用时:

{
  people: [
    "Yehuda Katz",
    "Alan Johnson",
    "Charles Jolley"
  ]
}

所以我相信你只需要让HandleBars可以理解的格式ContactList(数组作为对象属性)。