Передача данных с помощью Patternlab
Я использую 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": ""
}
]
}
Я видел примеры в других вопросах, таких как здесь, где циклы вложены, поэтому я не уверен, что отличается / неверен в моем коде.
2 ответа
Оказывается, проблема была в моем patternlab-config.json. Я не изменил параметр patternExtension, как показано ниже.
"patternExtension": "handlebars"
Попробуйте изменить синтаксис включения на
{{> atoms-tab tabText="{{tabText}}" }}
Как я (совсем недавно) задокументировал с помощью https://github.com/pattern-lab/patternlab-node/wiki/Working-with-PatternEngines вы заметите, что не все PatternEngines созданы равными, с некоторыми языковыми конструкциями из усов по умолчанию двигатель, как этот, полностью устарел из-за более мощного двигателя.