我剛開始使用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"
}
顯然,這只是一個假設性的解決方案,但有實際實現類似的方法嗎?