Handlebars用Patternlab传递数据

时间:2017-05-02 14:41:02

标签: javascript gulp handlebars.js patternlab.io atomic-design

我使用Patternlab,Handlebars和Gulp作为原型设计工具。目前我有一个有机体试图将数据传递给循环中的原子。我收到以下错误。

Error: Parse error on line 12:
...bLabels}}      {{> atoms-tab(tabText: "
----------------------^
Expecting 'OPEN_SEXPR', 'ID', 'STRING', 'NUMBER', 'BOOLEAN', 'UNDEFINED', 'NULL', 'DATA', got 'INVALID'

我的代码如下:

<nav class="tabbed-nav {{tabMenuClass}}">
  <ul>
    {{#each tabLabels}}
      {{> atoms-tab(tabText: {{tabText}})}}
    {{/each}}
  </ul>
</nav>

和JSON:

{
  "tabLabels": [
    {
      "tabText": "Tab 1",
      "tabClass": "",
      "disabledState": ""
    },
    {
      "tabText": "Tab 2",
      "tabClass": "",
      "disabledState": ""
    },
    {
      "tabText": "Tab 3 Open",
      "tabClass": "tab-open",
      "disabledState": ""
    }
  ]
}

我在其他问题like here中看到过循环嵌套的例子,所以我不确定我的代码有什么不同/不正确。

2 个答案:

答案 0 :(得分:1)

尝试将include语法更改为

{{> atoms-tab tabText="{{tabText}}" }}

正如我(刚刚最近)记录的那样https://github.com/pattern-lab/patternlab-node/wiki/Working-with-PatternEngines你会注意到并非所有的PatternEngine都是相同的,一些语言结构来自默认的Mustache引擎,就像这一个,完全被更强大的引擎所淘汰。 / p>

答案 1 :(得分:0)

原来问题出在我的patternlab-config.json中。我没有更改patternExtension选项,如下所示。

"patternExtension": "handlebars"