【发布时间】:2014-06-05 01:41:27
【问题描述】:
我想知道如何使用 Assemble 制作可重复使用的 html 部分。
我想做的只是简单地覆盖引用我想要的组件的新模板的前端。见下文:
下面是my-list.hbs(参考my-list.yml)
---
horiz-list: "<%= my-list %>"
---
{{> horiz-list}}
下面是horiz-list.hbs(参考horiz-list.yml)
<ul class="horiz-list">
{{#each horiz-list}}
<li>{{.}}</li>
{{/each}}
</li>
Yml 文件只是诸如香蕉、苹果、橙子之类的东西的列表。
我认为这会起作用,但事实并非如此。
注意:到目前为止,我看到的关于可重用组件的唯一一件事是堆栈溢出,它谈到了使用把手扩展页面,但今天早上我找不到,当我读到它时,它没有这似乎不是一个直截了当的过程。
鉴于 assemble 具有一些非常好的功能,我们将不胜感激社区的任何帮助。
谢谢!
【问题讨论】:
-
您希望发生什么,以及正在发生什么?您希望能够在部分中使用 {{component}} 吗?现在你从
my-list得到每件物品在ul里出来了吗? -
我希望能够包含像“list”这样的通用项目,然后只需覆盖“list”的默认值,这样苹果、香蕉和葡萄就可以变成胡萝卜、芹菜、生菜,如果我指向不同的数据对象。
-
为了回答您的其他问题,现在列表中没有任何内容,除非我直接从 horiz-list 部分复制代码。我删除了“组件”,因为它只是元数据并且令人困惑。我认为主要问题是降价生成器不够智能,无法动态链接到数据对象。 IE。该 horiz-list 在包含在另一个块中之前已组装,因此我认为无法将该 html 与数据对象分离。向我解释页面上下文的方式,我认为 assemble 不能做 DRY 组件,除非有一种简单的方法来覆盖
标签: yaml dry templating assemble