gpt4 book ai didi

javascript - 使用变量名调用 nunjucks 模板宏

转载 作者:行者123 更新时间:2023-11-30 09:52:37 29 4
gpt4 key购买 nike

给定一个宏:

{% macro foo() %}
{% endmacro %}

有没有办法使用变量名来调用它:

{% set fn = 'foo' %}
... call macro using 'fn'

或者,如何从自定义标签中调用宏?我创建了一个可以接受这些变量的标签,但不确定如何从那里插入宏。

最佳答案

执行此操作的简单方法是使用当前 context

let env = nunjucks.configure([
...
env.addGlobal('getContext', function(name) {
return (name) ? this.ctx[name] : this.ctx;
})

在模板中

{% macro foo (arg1, arg2) %}
{{arg1}}{{arg2}}
{% endmacro %}

{% set fn = 'foo' %}
{{ getContext(fn)(arg1, arg2) }}

关于javascript - 使用变量名调用 nunjucks 模板宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35592490/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com