在javascript中,我可以这样写

console.log( person.name || person.nickname || '-' )


并首先查找name字段,如果找不到它,它将回退到nickname字段,如果找不到,最终将回退到-占位符。

有没有很好的/方便的语法可以立即执行此操作?也就是说,有什么方法可以在一行中完成,而无需一堆if / elseifs

最佳答案

不,可惜不是。尽管可以在流动逻辑中使用“或”,但不允许在双大括号之间写入“或”。您将收到以下错误:


  预期为end_of_string,但在/ path / to / page的“ {{person.name或person.nickname或'-'}}}”中找到ID


我认为最简单的写法是:

{{ person.name }}{% unless person.name %}{{ person.nickname }}{% unless person.nickname %}-{% endunless %}{% endunless %}

关于javascript - 方便的“链式” || (OR)液体中的表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56813121/

10-12 04:18
查看更多