【问题标题】:How to include Partials defined in YMF (Assemble.io / Handlebars.js)如何包含在 YMF 中定义的 Partials (Assemble.io / Handlebars.js)
【发布时间】:2015-06-08 11:41:22
【问题描述】:

我使用 assemble.io 为一个简单的网页生成一些静态文件。

现在我想在 YAML Front Matter 中定义一个部分列表,应该包含在生成的页面中。

我想要这个

<div class="slides">
  {{>slide-intro}}
  {{>slide-welcome}}
  {{>slide-goodbye}}
</div>

被这样的东西取代:

---
slides:
  - slide-intro
  - slide-welcome
  - slide-goodbye
---
<div class="slides">
  {{#each slides}}
    {{>this}}
  {{/each}}
</div>

所以,我想使用存储在this(例如slide-welcome)中的变量内容作为要包含的部分的名称。

我看到使用{{&gt;this}} 不起作用,但我不知道在哪里寻找解决方案。

谁能帮帮我?

【问题讨论】:

    标签: handlebars.js assemble


    【解决方案1】:

    Handlebars 3 引入了Dynamic Partials,您可以像这样使用它们:

    ---
    slides:
      - slide-intro
      - slide-welcome
      - slide-goodbye
    ---
    <div class="slides">
      {{#each slides}}
        {{> (lookup ../slides @index) }}
      {{/each}}
    </div>
    

    但是,assemble 0.4.x 使用 Handlebars 1,所以切换到使用 Handlebars 3 的 grunt-assemble。grunt-assemble 是基于相同代码的,只是被移动以反映它是一个 grunt 插件。

    【讨论】:

    • 这很有帮助,但我需要将 {{&gt; (lookup ../ this) }} 更改为 {{&gt; (lookup ../slides @index)}},因为您的建议引发了错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 2019-01-31
    • 2020-03-28
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    相关资源
    最近更新 更多