У меня есть форма для обновления пользовательских данных, которые заполняют каждый ввод существующим значением поля, поскольку он хранится в базе данных. Однако в случае новых пользователей определенные значения еще не были привязаны к базе данных, поэтому я хотел бы, чтобы поля ввода были пустыми.Интерполяция переменных Jade - значение по умолчанию, если свойство не определено?
Для отображения пользовательских данных я использую функцию интерполяции Jade для просмотра объекта #{user.local}
, прошедшего через файл routes.js
.
Похоже, это (фрагмент):
input(type="text", name="firstname", value="#{user.local.firstName}")
Это хорошо работает, когда свойство определено, но оно (правильно) вставляет undefined
как текст в качестве вклада, где не было определено свойство.
Есть ли способ установить переменную по умолчанию, если она не была установлена?
Что-то вроде:
input(type="text", value="#{user.local.firstName || 'Default Text'"})
Вы нашли решение для этого? В настоящее время у меня есть такая же проблема и поиск решения. – Stefan
Не в Джейд, сам по себе. Я думаю, мне просто нужно добавить некоторую логику к моему контроллеру, чтобы при получении данных он заменял «undefined» любой пустой строкой или чем-то еще. Затем эти данные будут переданы в представление через маршрутизатор. – armadadrive
Использование jade ~ 1.9.2, '' 'input (type = 'text' class = 'form-control' id = 'line6Name' name = 'param6' value = '# {device.param6 ||" "}') '' 'дает значение по умолчанию пустой строки для неопределенных значений, когда я это делаю. Я готов быть тем кодом, который у вас там будет, если вы переместитесь туда, где находится двойная цитата закрытия. –