我理解这个概念,但我不理解语法。
我将使用他们网站上使用的示例
{% macro render_dialog(title, class='dialog') -%}
<div class="{{ class }}">
<h2>{{ title }}</h2>
<div class="contents">
{{ caller() }}
</div>
</div>
{%- endmacro %}
{% call render_dialog('Hello World') %}
This is a simple dialog rendered by using a macro and
a call block.
{% endcall %}
输出结果将会是什么?
子问题(因为我对这个如何工作感到非常困惑):您是否允许每个宏只有一个调用者?
caller()
会引发错误,因为没有传递调用者数据。实际上我想要的是传递给父级宏的数据。我通过在外部宏中使用{% set content = caller() %}
,然后在内部宏中使用{{ content }}
来获取这个数据。 - tremby