Templates 把手:访问关键帧中带有空白的嵌套对象
以下是我正在处理的结构的一些示例数据:Templates 把手:访问关键帧中带有空白的嵌套对象,templates,handlebars.js,Templates,Handlebars.js,以下是我正在处理的结构的一些示例数据: { 'Employee Info': { 'Last Bonus Date': '1999-01-01', 'Manager Name': 'Doe, John', PIN: '00000', 'Salary Basis': 'test' } 我已经设法弄明白了如何通过执行以下操作来访问模板中的“Employee Info”键,方法是使用括号(不带引号)。除了在模板中显示对象之外,这显然没有给我任何有用的东西,但这只是
{ 'Employee Info':
{ 'Last Bonus Date': '1999-01-01',
'Manager Name': 'Doe, John',
PIN: '00000',
'Salary Basis': 'test' }
我已经设法弄明白了如何通过执行以下操作来访问模板中的“Employee Info”键,方法是使用括号(不带引号)。除了在模板中显示对象之外,这显然没有给我任何有用的东西,但这只是一个开始:
<ul>
<li>
Manager Name: {{[Employee Info]}}
</li>
</ul>
<ul>
-
经理姓名:{{[员工信息]}
现在我要做的事情非常简单,我想先访问“员工信息”,然后访问它的一个值([Employee Info][Manager Name]])
,但我尝试过的方法似乎都不管用。我必须处理的大多数数据的键中都有空格。即使尝试访问没有任何空格的“PIN”,也不会起作用
我试过了
{{[Employee Info].pin}}
{{[Employee Info][pin]}
{{[Employee Info].[pin]}
您的问题不是由于密钥中的空格造成的。正如您所确定的,您可以通过将属性名称括在方括号中来访问具有无效标识符的属性,例如[Employee Info]
实际问题是,Handlebar不允许您以prop1.prop2
的形式深度访问对象属性。相反,您需要指示把手使用Employee Info
处的对象作为列表项的上下文。一种方法是使用
更新后的模板将成为:
<ul>
{{#with [Employee Info]}}
<li>Manager Name: {{[Manager Name]}}</li>
<li>Last Bonus Date: {{[Last Bonus Date]}}</li>
<li>PIN: {{[PIN]}}</li>
<li>Salary Basis: {{[Salary Basis]}}</li>
{{/with}}
<ul>
{{{与[员工信息]}
- 管理者名称:{{[管理者名称]}
- 上次奖金日期:{{[上次奖金日期]}
- 引脚:{{[PIN]}
- 薪资基础:{{[薪资基础]}
{{/与}}
我已经创建了一个供您参考的