我想在Handlebar模板中获取Backbone模型属性
我将data
传递给车把模板,这只是一个Backbone模型
下面是我正在使用的车把模板
<table class="basic">
<thead>
<th>Name</th>
<th>Value</th>
<th>Unit</th>
<th>Description</th>
</thead>
<form>
<tbody>
{{#each sections}}
{{#each this.entries}}
<tr><td>{{this.name}}</td><td><input type="name" name={{@key}}/> value={{data.[@key]}} /></td><td>{{this.units}}</td><td>{{this.descrip}}</td></tr>
{{/each}}
{{/each}}
<tr>
<td></td><td class="button" colspan="4"><button id="update">{{$ 'Update'}}</button></td>
</tr>
</tbody>
</form>
</table>
现在,我想在data
模型中将某些属性的值显示到我当前正在尝试data.[@key]
但尚未正常工作的输入字段中。
有谁能告诉我使用这个@key获取骨干模型属性的正确方法是什么?
的 的 **更新* *
现在我注意到的另一件事是,如果我在每个循环中使用 {{data.any_property}} ,那么它会显示我正确的值。 但是如果我在每个循环中使用 {{data.any_property}} ,它就不会给我正确的价值。
有人能告诉我为什么会这样吗?
的 的 **编辑* *
我现在已发布完整模板。 以下是我的 templateHelpers 功能
templateHelpers: function(){
helpers = {};
helpers.sections = this.sections;
helpers.data = this.model.toJSON();
return helpers;
},
下面是我想通过把手呈现的json
{
"sections": [{
"entries": {
"any-key1": {
"name": "Name",
"units": "%",
"descrip": "desc"
},
"any-key2": {
"name": "Name",
"units": "%",
"descrip": "desc"
},
"any-key3": {
"name": "Name",
"units": "%",
"descrip": "desc"
},
},
"name": "Entry name",
"description": "Entry description."
}, {
"entries": {
"any-key1": {
"name": "Name",
"units": "%",
"descrip": "desc"
},
"any-key2": {
"name": "Name",
"units": "%",
"descrip": "desc"
},
"any-key3": {
"name": "Name",
"units": "%",
"descrip": "desc"
},
},
"name": "Entry Name",
"description": "Entry Description."
}]
}