假设我有一个User
JavaScript 模型,看起来像这样:
var User = function(attributes) {
this.attributes = attributes;
}
User.fields = [
{name: 'firstName'},
{name: 'lastName'},
{name: 'email'}
]
User.prototype.get = function(key) {
return this.attributes[key];
}
User.all = [new User({firstName: 'Foo'})];
我想通过一个 Handlebars 模板运行它,该模板遍历User
类上的每个字段,为其创建一个标题,然后为每个用户呈现值:
<table>
<thead>
<tr>
{{#each User.fields}}
<th>{{name}}</th>
{{/each}}
</tr>
</thead>
<tbody>
{{#each User.all}}
<tr>
{{#each User.fields}}
<td>{{content.get(name)}}</td>
{{/each}}
</tr>
{{/each}}
</tbody>
</table>
我的问题是,我如何完成内部部分:
{{#each User.fields}}
<td>{{content.get(name)}}</td>
{{/each}}
基本上就是这样做的user.get(field.name)
。鉴于我事先不知道这些字段并希望它是动态的,我该如何在 Handlebars 中做到这一点?
谢谢你的帮助。