You need to enable JavaScript to run this app. Nunjucks模板如何判断loop.index不能被2整除并解决相关报错?
优惠活动
大模型
产品
解决方案
定价
更多

Nunjucks模板如何判断loop.index不能被2整除并解决相关报错?

问题原因

你遇到的报错是Nunjucks的运算符优先级导致的:逻辑运算符not的优先级高于取模运算符%,你写的not loop.index % 2会被模板引擎优先解析为(not loop.index) % 2,语法解析不匹配就抛出了对应的错误。

解决方案

要实现loop.index不能被2整除时添加bg-grey-light类,有两种常用写法:

写法1:直接判断取模结果(推荐)

直接判断取模结果等于1即可,逻辑更直观:

{% for items in Reviews %}
    {% for client in items.feedback %}
       <div class="{{"bg-grey-light" if loop.index % 2 == 1}}">
          <p>{{client.message}}</p>
          <p>&mdash; {{client.name}}</p>
       </div>
    {% endfor %}
{% endfor %}

写法2:使用not关键字(需加括号)

如果要使用not关键字实现,需要把取模判断的逻辑用括号包裹,明确运算顺序:

{% for items in Reviews %}
    {% for client in items.feedback %}
       <div class="{{"bg-grey-light" if not (loop.index % 2 == 0)}}">
          <p>{{client.message}}</p>
          <p>&mdash; {{client.name}}</p>
       </div>
    {% endfor %}
{% endfor %}

补充说明

Nunjucks内置的loop.index默认从1开始计数,如果后续需要切换为偶数项添加类,把判断条件改为loop.index % 2 == 0即可。

内容的提问来源于stack exchange,提问作者klewis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 02:51:00