我有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}}
Handlebar不支持嵌套变量,因此代码不起作用,但是有人知道我这样做的方法吗?
答案 0 :(得分: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在评论中所说的话,但仍然很高兴知道这个选项可用。