我正在尝试将多个数组打印到表中。数据包含在两个数组中,就像一个名称值对。我不确定车把语法,所以感谢任何帮助
来自Javascript的数组如下: keys = {" name"," age"," address"}; values = {" AD"," 2"," 123st"};
把手(版本1.0 rc2)模板如下所示,但似乎没有打印任何东西。任何提示?
<table>
{{#each keys}}
<tr>
<td> {{keys.@index}}</td>
<td> {{values.@index}} </td>
</tr>
{{/each}}
</table>
答案 0 :(得分:1)
请注意,您问题中的数组不是有效的JavaScript语法,应该用方括号而不是大括号括起来(例如,["name", "age", "address"]
)。
我认为您的数据结构可以改进,我建议将这两个字符串数组合并到一个对象中:
{
name: 'AD',
age: '2',
address: '123st'
}
我们可以创建一个新模板,迭代我们对象中的每个属性,然后我们可以使用Handlbars' built-in {{@key}}
访问密钥:
<script id="Template1" type="text/x-handlebars-template">
<table>
{{#each this}}
<tr>
<td>{{@key}}</td>
<td>{{this}}</td>
</tr>
{{/each}}
</table>
</script>
如果由于某种原因,您必须坚持使用这两个数组,我们可以使用Handlebars' lookup helper访问values
数组上的require属性:
<script id="Template2" type="text/x-handlebars-template">
<table>
{{#each keys}}
<tr>
<td>{{this}}</td>
<td>{{lookup ../values @index}}</td>
</tr>
{{/each}}
</table>
</script>