【发布时间】:2017-10-27 06:04:56
【问题描述】:
据 Nunjucks documentation,
包含不是在渲染之前将包含的模板代码拉入包含模板的预处理器;相反,它会触发包含模板的单独渲染,并包含该渲染的结果。
如果你真的想要一个“在渲染之前将包含的模板代码拉入包含模板的预处理器”,那在 Nunjucks/Jinja 中会是什么?
实际的例子是:两个部分有相同的变量是set。我们决定干掉它,将那些set 语句放入部分语句中,并通过include 请求它。使用 include 时,这些变量超出范围。
partial-config.nunjucks:
{% set var = 'x' %}
partial1.nunjucks:
{% include "partial-config.nunjucks" %}
var={{ var }}
partial2.nunjucks:
{% include "partial-config.nunjucks" %}
var={{ var }}
挑战:以上部分变量var 为空白。我希望在渲染之前将它设置在每个部分的范围内,就好像它只是字符串 sn-p,没有额外的范围等。
【问题讨论】:
标签: templates jinja2 templating nunjucks client-side-templating