这很好用:
nunjucks.renderString('Hello {{ username }}', { username: 'James' });
并给我'Hello James'
。如果我遗漏username
,如下所示:
nunjucks.renderString('Hello {{ username }}', { noUsername: 'James' });
nunjucks给了我'Hello '
。我试图定义的行为是一种允许我保留未定义的未定义变量的方法,以便
nunjucks.renderString('Hello {{ username }}', { noUsername: 'James' });
给了我'Hello {{ username }}'
。有没有办法使用自定义过滤器,宏,模板,更智能的东西来实现这一目标?我想避免滚动我自己的语法(自定义转义字符),并尽可能保持它更惯用。我使用renderString
作为一个简单示例,但我想要将其实际用于整个模板(通过render
)。
答案 0 :(得分:0)
原来{% raw %}
已经在nunjucks中构建a fantastic tag,可以用来处理你知道你的变量将提前未定义的情况。例如,当这样使用时:
nunjucks.renderString('Hello {{ username }} {% raw %}{{ iDoNotExist }}{% endraw %}',
{ username: 'James' });
它给出了以下输出:
'Hello James {{ iDoNotExist }}'