2013-02-07 136 views
15

我使用Node.js從我的.js文件發送日期到.jade文件。當#{date}字段爲false時,它會在執行回答時執行else和print man。可能會出現什麼問題?Jade/Pug if else condition usage

if #{date} == false 
    | #{date} 
else 
    | man 

回答

27

如果日期是假的,你要輸出字符串「男人」? 如果是,你如果和else語句都是圍繞走錯了路......

如何:

if date 
    = date 
else 
    | man 

甚至:

| #{date ? date : 'man'} 

或者乾脆:

| #{date || 'man'} 
8

如果表達你寫簡單的變量名中,沒有#{...}

if date == false 
    | #{date} 
else 
    | man 
0

你的陳述倒退了。對於語法,您可以使用這種風格的工作:

p Date: 
    if date 
    | date 
    else 
    | man 

其正確的,你不需要表達內#{}。我無法使=工作,或其他方式的其他答案。

三元風格

爲我自己,我也一直在尋找三元運算符來做到這一點的一條線。我又縮減到這一點:

p Date: #{(date ? date : "man")} 

或者,你可以使用一個變種,它增加了一個多線,但仍是線不到OP:

- var myDate = (date ? date : "man") 
p Date: #{myDate} 

我是不是能夠得到繼續工作,如另一個答案中所建議的。

| #{date ? date : 'man'}