1

我想以其他方向呈现 HTML 块。这是获取当前循环值的正确语法吗?

{% if ( {{ cycle(['odd', 'even']) }} == 'odd' ) %}
foo
{% elseif %}
bar
{% endif %}
4

1 回答 1

2
  1. cycle(['odd', 'even'])不应该{{ }}if 语句里面
  2. cycle()应该有第二个参数来计算循环的数量
  3. {% elseif %}应该有条件或更改为{% else %}

这是你应该做的让代码按照你的意愿工作(循环 10 次):

{% for i in 0..9 %}
    {% if cycle(['odd', 'even'], i) == 'odd' %}
        foo
    {% else %}
        bar
    {% endif %}
{% endfor %}

如果您希望 for 循环对象,您可以使用loop.index(从 1 开始)而不是i

{% for object in objects %}
    {% if cycle(['even', 'odd'], loop.index) == 'odd' %}
        foo
    {% else %}
        bar
    {% endif %}
{% endfor %}

loop.index0(从 0 开始):

{% for object in objects %}
    {% if cycle(['odd', 'even'], loop.index0) == 'odd' %}
        foo
    {% else %}
        bar
    {% endif %}
{% endfor %}
于 2012-11-29T18:54:06.633 回答