我想重用一个叫作 rater-table.hbs
看起来像这样
<div class="comparison-rater-container">
{{> rater-table header="Key Stakeholder" valueType=KeyStakeholder}}
{{> rater-table header="Group 1" valueType=Group1}}
{{> rater-table header="Group 2" valueType=Group2}}
{{> rater-table header="Other Stakeholders" valueType=OtherStakeholders}}
</div>
在我的另一个文件中,我能够很好地调用头变量,但我难以使valueType适合括号符号。我试着像这样使用它
{{ ../pole.summary.benefits.[(valueType)] }}
如果我硬把Group1这个词写成代码,它就能正常工作,但如果不是这样,它给我一个空值。有什么办法能让这个在车把式中工作?
在Handlebars中查询对象的动态属性的方法是通过使用 查找助手. 这看起来像。
{{lookup ../pole.summary.benefits valueType }}
然而,查询需要一个字符串值 这将是第一个参数的对象的属性查询。出于这个原因,你需要确保在你分配给对象的每个值周围加上引号。valueType
. 如果没有引号,Handlebars会尝试将这些属性作为当前上下文对象的属性进行评估,它们最终都会传递到 valueType=undefined
到部分。
模板必须成为。
<div class="comparison-rater-container">
{{> rater-table header="Key Stakeholder" valueType="KeyStakeholder"}}
{{> rater-table header="Group 1" valueType="Group1"}}
{{> rater-table header="Group 2" valueType="Group2"}}
{{> rater-table header="Other Stakeholders" valueType="OtherStakeholders"}}
</div>
或者,你也可以放弃查找,直接把每个值传给局部。
{{> rater-table header="Key Stakeholder" value=../pole.summary.benefits.KeyStakeholder }}
我已经创建了一个 抚弄 以供参考。