Mustache.js使用current current作为索引

时间:2013-04-19 04:02:24

标签: javascript backbone.js mustache

我目前正在迭代我的模板中的一组项目(为简单起见,名称已更改):

{{#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循环的变量正确查找数组?

1 个答案:

答案 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}}