我目前正在迭代我的模板中的一组项目(为简单起见,名称已更改):
{{#myArray}}
<tr>
<td>{{name}}</td>
<td>{{type_id}}</td>
<td>{{anotherArray[type_id].name}}</td>
</tr>
{{/myArray}}
其中anotherArray
将type_id作为其键,并在值上使用name属性。
我已经测试过,type_id会打印它的值,当我在chrome javascript控制台中查找我的数组时,它可以找到数组索引(和name属性)就好了。
如何在Mustache.js中使用当前each
循环的变量正确查找数组?
答案 0 :(得分:0)
Mustache故意简单,因此你可以在模板中做很少的事情。如果你需要除了简单迭代({{#ary}}
)和插值({{val}}
)之外的任何东西,那么你必须在模板看到它之前用JavaScript预处理数据:
var data = [ ];
for(var i = 0; i < myArray.length; ++i)
data.push({
name: myArray[i].name,
type_id: myArray[i].type_id,
other_name: anotherArray[myArray[i].type_id]].name
});
然后你将data
提供给这样的模板:
{{#data}}
<tr>
<td>{{name}}</td>
<td>{{type_id}}</td>
<td>{{other_name}}</td>
</tr>
{{/data}}