【发布时间】:2013-02-07 06:27:14
【问题描述】:
我正在使用 Node.js 从我的 .js 文件向 .jade 文件发送日期。当#{date} 字段为false 时,它执行else 并打印man 作为它的答案。可能出了什么问题?
if #{date} == false
| #{date}
else
| man
【问题讨论】:
我正在使用 Node.js 从我的 .js 文件向 .jade 文件发送日期。当#{date} 字段为false 时,它执行else 并打印man 作为它的答案。可能出了什么问题?
if #{date} == false
| #{date}
else
| man
【问题讨论】:
如果日期为假,你想输出字符串'man'吗? 如果是,那么您的 if 和 else 语句是错误的方法......
怎么样:
if date
= date
else
| man
甚至:
| #{date ? date : 'man'}
或者简单地说:
| #{date || 'man'}
【讨论】:
在 if 表达式中你写的是普通的变量名,没有 #{...}
if date == false
| #{date}
else
| man
【讨论】:
你的说法是倒退的。对于语法,您可以使用这种样式来工作:
p Date:
if date
| date
else
| man
在表达式中不需要#{} 是正确的。我无法让= 工作,或者其他答案的其他方式。
三元样式
对于我自己,我也在寻找三元运算符在一行上执行此操作。我把它缩小到这个:
p Date: #{(date ? date : "man")}
或者,您可以使用 var,它增加了一行,但仍然比 OP 少:
- var myDate = (date ? date : "man")
p Date: #{myDate}
按照另一个答案的建议,我无法使以下工作正常进行。
| #{date ? date : 'man'}
【讨论】: