Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 把手-将变量传递为点表示法_Javascript_Handlebars.js - Fatal编程技术网

Javascript 把手-将变量传递为点表示法

Javascript 把手-将变量传递为点表示法,javascript,handlebars.js,Javascript,Handlebars.js,我试图重用一个名为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

我试图重用一个名为
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>

如果我硬编码单词Group1,它可以正常工作,但在其他情况下它会给我一个空值。有没有办法在Handlebar中使用此功能?

在Handlebar中查找对象的动态属性的方法是使用。这看起来像:

{{lookup ../pole.summary.benefits valueType }}
但是,查找需要一个字符串值,该值将是查找第一个参数对象的属性。因此,您需要确保在分配给
valueType
的每个值周围加上引号。如果没有引号,Handlebar将尝试将它们中的每一个作为当前上下文对象的属性进行求值,并且它们最终都会将
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>

我已经创建了一个供参考的文档。

感谢您的回复,这正是我所需要的。假设这是可行的,我是否可以通过执行以下操作来调用另一个助手的内部查找。。{{otherHelper({{lookup../pole.summary.benefits valueType}}}}}在很多情况下,我试图根据返回的数据动态处理一些样式。是的,但不能嵌套
{}
。用法是
{otherHelper(lookup../pole.summary.benefits valueType)}
。这将是一个把手。只是想更新一下,查找方法在这里最适合我。由于我的查找嵌套在each循环中,因此必须包含..valueType。由于每个循环,无法使用您提到的另一种方式工作(这将要求我将组件拆分,由于上下文范围的原因,这会破坏目的)。
<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 }}