我刚开始使用gulp & nunjucks进行模板(本例为电子邮件)。使用nunjucks或其他方法嵌套变量的模板解决方案
我想解决调用模块/ partial的问题,并在每次处理属性时为其分配不同的值。
它最初看起来像一个工作for循环,但模块不一定会在序列中的模板
在模块内有被分配给变量属性调用。 我想解决这些变量的不同取决于模块的使用部分。
一个非常基本的例子是 - 在一个索引文件我有:
{% block content %}
<!-- logo start -->
{% include genericMod %}
<!-- logo end -->
<!-- some other section start -->
{% include someOtherMod %}
<!-- some other section end -->
<!-- hero start -->
{% include genericMod %}
<!-- hero end -->
{% endblock %}
而在genericMod itself-:
<tr>
<td class="full-width-image" align="{{align}}" ><img src="{{src}}" alt="{{alt}}"/></td>
</tr>
的这种功能,我想点击即可定义一个“modKey”,例如模块 中的每个变量内的一个变量,例如
{{modKey.align}}
{{modKey.src}}
{{modKey.alt}}
然后能够在该键每次被调用时,不知何故分配到模块:
<!-- logo start —>
{% include genericMod "modKey": "logo" %}
<!-- logo end -->
所以上面的产生:
<tr>
<td class="full-width-image" align="{{logo.align}}" ><img src="{{logo.src}}" alt="{{logo.alt}}"/></td>
</tr>
和:
<!-- hero start -->
{% include genericMod "modKey": "hero" %}
<!-- hero end -->
产生于:
<tr>
<td class="full-width-image" align="{{hero.align}}" ><img src="{{hero.src}}" alt="{{hero.alt}}"/></td>
</tr>
这样通过一个JSON管道时,文件将被渲染为每个相应的数据属性变量:
"logo": {
"alt": "some logo alt text",
"href": "http://www.someurl.com",
"align": "left"
},
"hero": {
"alt": "some hero alt text",
"href": "http://www.someotherurl.com",
"align": "centre"
}
显然,这只是一个假设性的解决方案,但有实际实现类似的方法吗?