Backbone, JST, EJS: пустые значения в шаблонах
У меня есть шаблон магистрали JST ->EJS для формы "проекты". В идеале я хотел бы использовать один и тот же шаблон для создания и редактирования моделей.
На данный момент у меня есть что-то вроде этого в шаблоне:
<input type='text' name='demo_field' value='<%= demo_field %>' />
Это прекрасно работает, пока demo_field имеет значение, но если нет, вся форма завершается с ошибкой referenceError.
Итак, каков самый элегантный способ убедиться, что переменные поля возвращают пустое значение вместо сбоя в Backbone... или JST... или EJS?
Приветствия...
1 ответ
Я бы, вероятно, сделал помощника, так как у javascript нет хорошего способа сделать что-то вродеfield if field?
в CoffeeScript.
Добавьте что-то вроде этого во вспомогательную функцию:
function printIfExists(field) {
return (typeof field !== "undefined" && field !== null) ? field : '';
}
и назовите это в своих шаблонах. Проще простого!
Вы также можете использовать альтернативный function
объявление:
var printIfExists = function(field){...}
Я так долго пользуюсь coffeescript, что не могу вспомнить, почему... возможно, проблемы с областью видимости в первом примере.