0

現在、テンプレート内のアイテムのグループを次のように繰り返し処理しています (名前は簡単にするために変更されています)。

{{#myArray}}
  <tr>
    <td>{{name}}</td>
    <td>{{type_id}}</td>
    <td>{{anotherArray[type_id].name}}</td>
  </tr>
{{/myArray}}

キーとしてtype_idanotherArrayがあり、値に name 属性があります。

私がテストしたところ、type_id はその値を出力し、chrome javascript コンソールで配列を検索すると、配列インデックス (および name プロパティ) をうまく見つけることができます。

eachMustache.jsで現在のループの変数を使用して配列を正しく検索するにはどうすればよいですか?

4

1 に答える 1

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}}
于 2013-04-19T04:52:50.010 に答える