@jenya7771

Как проверить наличие переменной в ejs?

Здраствуйте, как проверить есть ли переменная в шаблоне
<div class="col-md-8 col-md-offset-2">
	<% if(message){ %>
		<div class="alert alert-warning" role="alert"><%= message %></div>
	<% }%>
</div>

res.render('panel', {
     message: 'Введите данные'
});

В таком варианте если message есть, то всё работает, как только её нет, вылетает ошибка message is not defined.
Как можно выполнять такую проверку?
  • Вопрос задан
  • 338 просмотров
Решения вопроса 1
Krasnodar_etc
@Krasnodar_etc
fundraiseup
Передавать в шаблон не переменные по одной, а объект со свойствами == переменными
res.render('panel', {
     data: {
        message: 'Введите данные',
    }
});


И выводить так:
<div class="col-md-8 col-md-offset-2">
  <% if(data.message){ %>
    <div class="alert alert-warning" role="alert"><%= data.message %></div>
  <% }%>
</div>


В таком случае у вас всегда будет переменная-объект data и если вы обратитесь к несуществующему свойству - просто вернётся undefined, ошибка не вылетит
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sanchezzzhak
@sanchezzzhak
Ля ля ля...
добавите до вывода проверку, конкретный шаблон требует конкретного решения

res.render('panel', {
     message:  message === undefined ? default_value : message
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы