Скажем, у меня есть модель 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, учитывая, что я не знаю полей перед рукой и хочу, чтобы это было динамическим?
Спасибо за вашу помощь.