You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Nunjucks多条件三元表达式提示缺少逗号无法运行,求助解决方法

Nunjucks多条件三元表达式提示缺少逗号无法运行,求助解决方法

嘿,我之前也踩过Nunjucks这个多条件三元表达式的坑!其实问题出在Nunjucks的语法解析上,它没办法正确识别你这种无括号的链式if else写法,所以才会一直提示缺少逗号。

给你两个靠谱的解决办法:

方法一:用括号明确嵌套结构

把后面的条件分支用括号包起来,让解析器能清晰识别每个if else的范围,写法如下:

{{ "message one" if condition_1 else ("message two" if condition_2 else "default") }}

这样就能正常解析三个分支的逻辑了,和你想要的效果完全一致。

方法二:用set标签提前定义变量

如果觉得括号嵌套看着累,也可以先用set标签把最终要显示的内容存到变量里,再输出,代码可读性会更好:

{% set displayText = "message one" %}
{% if not condition_1 %}
  {% set displayText = "message two" if condition_2 else "default" %}
{% endif %}
{{ displayText }}

这种方式不用重复写代码,后续如果要加更多条件,修改起来也更方便。

你说的用if标签会重复代码的问题,用这两种方法都能完美避开,选你看着顺眼的用就行~

备注:内容来源于stack exchange,提问作者Haggishunt56

火山引擎 最新活动