我需要转换Jade选择列表,它会迭代状态并将状态分配给Handlebars模板。在Jade看起来像这样:
select.form-control(name='status')
option(value='') -- choose --
for status in data.statuses
option(value='#{status._id}') #{status.name}
我尝试使用#each
这样做
<select name="status" class="form-control">
<option value="">-- choose --</option>
{{#each statuses}}
<option value="{{this._id}}">{{this.name}}</option>
{{/each}}
</select>
但它不起作用,因为它不是一个数组。
有没有办法用Handlebars做到这一点?谢谢。
答案 0 :(得分:1)
你可以看到这个例子:
var source = $("#some-template").html();
var template = Handlebars.compile(source);
var data = {
statuses:[
{_id:1, name:'name1'},
{_id:2, name:'name2'}
],
statuses2:{
o1:{_id:1, name:'name1'},
o2:{_id:2, name:'name2'},
o3:{_id:3, name:'name3'}
}
};
$('body').append(template(data));
两种变体(数组和对象)都与您的模板一致。可能是你将把手的状态设置为错误吗?