2017-04-16 101 views
0

我有2個對象數組,其中包含一些信息屬性名稱如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

在研究另一個完全不同的問題時,我偶然發現了答案! Handlebars帶有查找幫助功能,這正是我所需要的。下面是新的代碼:

{{#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在他的評論中所說的,但仍然很高興知道這個選項是可用的。

相關問題