Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “方便”;链锁(或)液体中的表达_Javascript_Jekyll_Liquid - Fatal编程技术网

Javascript “方便”;链锁(或)液体中的表达

Javascript “方便”;链锁(或)液体中的表达,javascript,jekyll,liquid,Javascript,Jekyll,Liquid,在javascript中,我可以编写如下内容 console.log( person.name || person.nickname || '-' ) 它将首先查找名称字段,如果找不到,它将返回到昵称字段,如果找不到,它将最终返回到-占位符 在liquid中有没有什么好的/方便的语法?也就是说,有没有办法在一行中完成这项工作,而不用一堆if/elseifs没有,很遗憾没有。虽然您可以在液体逻辑中使用'or',但不允许在双花括号之间写入'or'。您将得到以下错误: 应为_字符串的结尾,但在/pa

在javascript中,我可以编写如下内容

console.log( person.name || person.nickname || '-' )
它将首先查找
名称
字段,如果找不到,它将返回到
昵称
字段,如果找不到,它将最终返回到
-
占位符


在liquid中有没有什么好的/方便的语法?也就是说,有没有办法在一行中完成这项工作,而不用一堆
if
/
elseifs
没有,很遗憾没有。虽然您可以在液体逻辑中使用'or',但不允许在双花括号之间写入'or'。您将得到以下错误:

应为_字符串的结尾,但在/path/to/page中的“{person.name或person.昵称或'-'}}”中找到id

我认为写这篇文章的最短方式是:


{{person.name}{%inspect person.name%}{{person.昵称}{%inspect person.昵称%}-{%endinspect%}{%endinspect%}

我想你需要使用
操作符。我不相信这是可能的,我已经尝试过了。
运算符似乎仅在逻辑条件下有效(即
{%if conditionA==true或conditionB==false%}
),但我真正需要它的是在一个“表达式”中进行计算并放在适当的位置(即
{variable}
),这就是我所担心的。谢谢除非语法不是非常糟糕。
elsif也不是。