方便的“连锁” || (OR)液体中的表达式

时间:2019-06-28 20:55:30

标签: javascript jekyll liquid

在javascript中,我可以这样写

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

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

有没有很好的/方便的语法来做到这一点?也就是说,没有一行if / elseifs,有没有办法单行完成。

1 个答案:

答案 0 :(得分:1)

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

  

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

我认为最简单的写法是:

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