手把 - 将变量传递到点阵中。

问题描述 投票:0回答:1

我想重用一个叫作 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这个词写成代码,它就能正常工作,但如果不是这样,它给我一个空值。有什么办法能让这个在车把式中工作?

javascript handlebars.js
1个回答
1
投票

在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 }}

我已经创建了一个 抚弄 以供参考。

© www.soinside.com 2019 - 2024. All rights reserved.