0

我需要将迭代状态并将状态分配给帐户的 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>

但它不起作用,因为它不是一个数组。

有没有办法用把手做到这一点?谢谢你。

4

1 回答 1

1

你可以看到这个例子:

http://jsfiddle.net/bby5ynuw/

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));

两种变体(数组和对象)都可以在您的模板中正常工作。可能您将状态设置为把手不正确?

于 2017-05-03T08:39:43.130 回答