Patternlab Handlebars将数据变量作为字符串文字传递

时间:2017-05-23 13:38:33

标签: javascript handlebars.js patternlab.io

我正在开发一个带把手,patternlab-node和gulp的项目。现在,如果我尝试将参数传递给atom partial,我的.hbs文件就不起作用了。我在下面列举了一个例子。

分子:

<div class="filter-group {{ filterGroupClass }}">
  {{#each filterGroupContent}}
    {{> atoms-filter filterClass="{{filterClass}}" filterText="{{filterText}}" filterValue="{{filterValue}}" }}
  {{/each}}
</div>

数据:

{
  "filterGroupClass": "test-class",
  "filterGroupContent": [
    {
      "filterClass": "",
      "filterText": "Text",
      "filterValue": "9"
    },
    {
      "filterClass": "closed",
      "filterText": "Text2",
      "filterValue": "9"
    }
  ]
}

原子:

<span class="unit">
  <a class="filter {{filterClass}}" href="">{{filterText}}
    <span class="value">{{filterValue}}</span>
  </a>
  <a class="pill-filter-close" href="">Close</a>
</span>

现在输出显示文本为:{{filterText}} {{filterValue}}而不是json数据中的文本。但是它从循环中显示正确的次数,所以我相信它是从json文件中获取信息。

我不确定这是语法错误还是其他问题,但我们非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

事实证明我错误地使用了模式参数(根据在patternlab gitter帮助我的Brian aka @bmuenzenmeyer),参数应该被认为是public Task<List<T>> Foo() { if (list is cached in memory) return Task.FromResult(list); //serve data from the in memory list else return GetDataFromApi(); //await get data from the API } 。默认情况下,数据可以传递给嵌套的子节点,因此当我在json文件中重命名键时,它可以正常工作。

更新了json:

async

因为您可以从我的问题中看到关键名称是原子期望的变量值,这允许参数自动传递,我的分子模板设置如下所示。

await