期待ID'得到了#NUM;'

时间:2017-01-07 17:15:58

标签: javascript handlebars.js

我在json

中有以下数据
"ICON":{
    "144":"https://example.com/bubble-academy.jpg",
    "228":"https://example.com/bubble-academy.jpg",
    "72":"https://example.com/bubble-academy.jpg",
    "152":"https://example.com/bubble-academy.jpg",
    "130":"https://example.com/bubble-academy.jpg",
    "120":"https://example.com/bubble-academy.jpg",
    "32":"https://example.com/bubble-academy.jpg"
}

在手柄中,我正在尝试访问属性32,如下所示。

<img src="{{ ICON.32 }}">

我收到以下错误

Module build failed: Error: Parse error on line 5:
..."{{ mediaFiles.ICON.32  }}">        <sp
-----------------------^
Expecting 'ID', got 'NUMBER'

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

这是因为您使用数字作为属性名称,请尝试使用此代码:

<img src="{{ ICON.[32] }}">

答案 1 :(得分:0)

这里还有一个有趣的案例来迷惑人: (这是静态生成的 wordpress 表单的外观)

Input
{
    "body" : {
        'input_2.2': 'Mrs.',
        'input_2.3': 'Cynthia',
        'input_2.6': 'Winterbottom',   
        'input_6': 'Professor',
  }
}

此模板导致空白

<p>Form submission</p>
  <p>{{body.input_2.[2]}} {{body.input_2.[3]}} {{body.input_2.[6]}}</p>
  <p>{{body.input_6}}</p>

Result:
<p></p>
<p>Professor</p>

显然,因为所有的数字条目都不存在......你不能简单地将它们括起来......你必须一次对整个子路径进行分组

Proper template:
<p>Form submission</p>
  <p>{{body.[input_2.2]}} {{body.[input_2.3]}} {{body.[input_2.6]}}</p>
  <p>{{body.input_6}}</p>

这是通过反复试验发现的...找不到解释此问题的正确文档