Условия в Handlebars Express

С помощью команды {{#if}} можно сделать так, чтобы определенный текст был показан, если некоторая переменная имеет значение true, и скрыт, если false. Давайте посмотрим на примере.

Пусть в представление передается некоторая логическая переменная:

app.get('/page/', function(req, res) { res.render('page', { show: true }); });

Давайте покажем некоторый текст, если значение нашей переменной равно true:

<div> {{#if show}} <p>hello</p> {{/if}} </div>

Команда else

Можно также использовать команду {{else}}, чтобы показать или один, или второй текст:

<div> {{#if show}} <p>text1</p> {{else}} <p>text2</p> {{/if}} </div>

Команда unless

Команда {{#unless}} обратна команде {{#if}}, то есть показывает текст, если значение переменной ложно:

<div> {{#unless show}} <p>text1</p> {{/unless}} </div>

Практические задачи

Пусть в представление передаются следующие переменные:

res.render('page', { show1: true, show2: false, show3: true, });

Пусть у нас есть три блока:

<div> block 1 </div> <div> block 2 </div> <div> block 3 </div>

Сделайте так, чтобы каждый блок был видимым, если соответствующая ему переменная истинна.

Замечание

Описанные команды могут проверять переменные только на истину или ложь. Более сложные условия недоступны.