传递到车把模板的数据如下:
a = {
x: {
name: "xavier"
},
y: {
name: "yamal"
},
}
b = {
properties: {
x: {
property: "number"
}
}
}
车把模板如下:
<div class="left-panel">
{{a.x.name}} // Prints correctly "xavier"
{{#each b.properties}}
<h4>{{@key}}</h4> // Prints correctly "x"
<h4>{{ ../a.[@key].name }}</h4> // does not print "xavier"
{{/each}}
</div>
如您所见,我希望能够使用name
中的键来访问a
中的字典的b
。我该如何实现?
答案 0 :(得分:0)
您的问题与该问题基本相同:Handlebars.js - Access object value with a variable key
唯一的额外细节是您将需要使用Handlebars subexpressions来执行两次查找(首先是@key
;然后是'name'
)。
通过子表达式,您可以在@key
上查找../a
的值,并将其传递给根据第一次查找的结果对'name'
的值的第二次查找。
模板中的相关行变为:
<h4>{{lookup (lookup ../a @key) 'name'}}</h4>
这里有个小提琴供您参考: https://jsfiddle.net/76484/b0puy52n/