4

我有一个顶级模板,我想在 for 循环中使用“片段”模板,但我无法传入变量值:

  {% for item in coll %}
    {% include "fragment.html" with name="slack" item=item %}
  {% endfor %}

item然后name在 fragment.html 模板中使用:

<div>
  <label>
    <input
      title="{{item.id}}"
      id="{{name}_{{item.id}}_active"
      name="{{name}}-{{item.id}}_active"
...
    />

虽然name参数被正确扩展(它的值在父模板中被硬编码),但item参数不是(它的值按原样传入)。

我需要为此使用不同的语法还是不支持它?

4

1 回答 1

2

包含的模板中的include标签拼接。这意味着父模板范围内的任何变量都可用于包含的模板。该with运算符允许您提供不解释的默认值。说item=item是有效的说item|default:"item",也就是说item被重新定义为"item"

https://github.com/yogthos/Selmer#include-templates

于 2020-10-05T12:17:16.800 回答