2017-04-16 17 views
0

私は2つのオブジェクトの配列を持っています.1つはFirstName、LastName、PhoneNum ...のようなプロパティ名でいくつかの情報を持つオブジェクトのリストを含み、最初の配列のプロパティの名前と一致する文字列のリスト。変数をハンドルバーの別のオブジェクトのプロパティ名として使用

Array1 = [ {FirstName: John, LastName: Doe, PhoneNum: 123}, 
      {FirstName: Bob, LastName: Smith, PhoneNum: 456} ] 
Array2 = [ "FirstName", "PhoneNum" ] 

どのようにして、表示するプロパティを決定するために二番目の配列の値を使用できます:以下の小さな例を作った

これは私が現在持っているものです。

{{#each MemberDetails}} 
<tr> 
    <td class="col-md-1 vert-align"> 
     <!-- ....... --> 
    </td> 
    {{#each ../MemberDesc}} 
     <td class="vert-align">{{../{{this}} }}</td> <--- This is what I'm trying to do 
    {{/each}} 
    <td class="vert-align"> 
     <!-- ....... --> 
    </td> 
</tr> 
{{/each}} 

ハンドルバーにはありませんネストされた変数をサポートしているので、コードは機能しませんが、誰かがこれを行う方法を知っていますか?

+0

node.jsコードで配列操作を行い、この場合はハンドルバーに必要なフィールドだけを指定する方がよいと思います。 – Tolsee

答えて

0

別の全く別の問題を眺めながら、私は答えを見つけました!ハンドルバーにはルックアップヘルパー機能が付属しています。ここで、新しいコードである:外側のループで

{{#each MemberDetails}} 
<tr> 
    <td class="col-md-1 vert-align"> 
     <!-- ....... --> 
    </td> 
    {{#each ../MemberDesc}} 
     <td class="vert-align">{{lookup ../this this}}</td> 
    {{/each}} 
    <td class="vert-align"> 
     <!-- ....... --> 
    </td> 
</tr> 
{{/each}} 

../this参照現在のアイテムは、ルックアップ関数は最初の引数のキーとして第二引数thisを使用します。

私はTolseeがコメントしたことをやってしまったが、このオプションが利用可能であることを知っていればなお良い。

関連する問題