使用handlebars.js循环遍历一个对象数组

时间:2017-03-06 14:43:32

标签: handlebars.js

我有这样的结构:

 obj: {
  array: [{
   string: 'hello'
  },
   string: 'tim'
  }]
}

如何在无序列表中打印所有字符串属性?

我正在尝试这个,但它不打印任何东西

<ul>
{{#each array}}
<li>{{this string}}</li>
{{/each}}    
</ul>

2 个答案:

答案 0 :(得分:0)

试试此代码

<ul>
{{#each array}}
<li>{{this.string}}</li>
{{/each}}    
</ul>

答案 1 :(得分:0)

TL;DR:根据 docs 中的 each 助手代码,上下文设置为当前项目。

隐式传递给 helper 的第二个参数是 options 对象,它包含 fn 属性。此属性是一个函数 that behaves like a normal compiled Handlebars template(包含放置在 {{#each}}{{/each}} 之间的内容)。 Helper 遍历数组并评估每个项目的模板。返回连接结果。

因此,您不必使用 this

<ul>
{{#each array}}
  <li>{{string}}</li>
{{/each}}    
</ul>

Fiddle Example