Я отправляю дату в файл .jade из моего .js файла, используя Node.js. Когда поле #{date}false, оно выполняет else и печатает man по мере ответа. Что может быть не так?
if #{date} == false
| #{date}
else
| man
Ответ 1
Если дата ложна, вы хотите вывести строку "человек"?
Если да, ваши утверждения if и else неправильны...
Как насчет:
if date
= date
else
| man
или даже:
| #{date ? date : 'man'}
или просто:
| #{date || 'man'}
Ответ 2
Внутри выражения вы пишете простые имена переменных, без # {...}
if date == false
| #{date}
else
| man
Ответ 3
Ваше выражение было назад. Для синтаксиса вы можете использовать этот стиль для работы:
p Date:
if date
| date
else
| man
Правильно, что вам не нужно #{} внутри выражения. Мне не удалось заставить = работать или другие способы ответа на другие ответы.
Тройной стиль
Для себя я тоже искал тройного оператора, чтобы сделать это на одной линии. Я уменьшил это до:
p Date: #{(date ? date : "man")}
В качестве альтернативы вы можете использовать var, который добавляет еще одну строку, но все еще меньше строк, чем OP:
- var myDate = (date ? date : "man")
p Date: #{myDate}
Мне не удалось заставить следующее работать, как было предложено в другом ответе.