如何将变量传递给Nunjucks宏中的include

时间:2018-08-01 14:39:15

标签: macros gulp include frontend nunjucks

我正在制作一个可重复的卡片,它具有多个文本变量,但也有两个变量图标,它们是SVG。我想在宏中创建SVG图标变量,但出现Gulp错误

  

events.js:183         投掷者//未处理的“错误”事件         ^模板渲染错误:(未知路径)模板渲染错误:(C:... \ frontend \ dev \ templates \ partials \ modules_activity-overview.njk)   错误:找不到模板:{{图标}}

我可以在宏中使用include,但是我似乎无法使include的值成为变量。

我的宏看起来像这样:

{% macro activityCard(icon='partials/svg/alarm.svg', name, atime, type, event, message) %}
<div class="activity-tile">
    <div  class="activity-tile__icon">{% include " {{ icon }} " %}</div>
    <div>
        <h2>{{ name }}</h2>
        <time>{{ atime }}</time>
        <div class="activity-tile__details">
            <span><em>Type</em>{{ type }}</span>
            <span><em>Event</em>{{ event }}</span>
        </div>
        <div class="activity-tile__weather">
            <i>{% include "partials/svg/weather.svg" %}</i>
            <span>{{ message }}</span>
        </div>
    </div>
</div>
{% endmacro %}

我在我的页面中这样称呼它:

{% import 'macros/activity-card-macro.njk' as acard %}
{{ acard.activityCard('partials/svg/alarm.svg', 'Main Office', '12/18/2017 11:58 PM EST', 'Missing open', 'Opened late', '') }}

在宏的include中产生变量的正确语法是什么?

谢谢。

0 个答案:

没有答案