Шаблон Handlebars - выражение "тильда" в if
У нас есть оператор вроде:
{{~#if someCondition ~}}
<div class="whyweneedtildehere"></div>
{{~/if~}}
В чем разница между простым оператором if
и оператором if
с "~" в шаблонах дескрипторов?
Ответы
Ответ 1
Он называется тильдой, что может помочь вам в дальнейшем.
Handlebars docs подробно отвечает на ваш вопрос.
Пробел шаблона может быть опущен с любой стороны любых усов с помощью добавления символа фигурными скобками. Когда применяется все пробелы с этой стороны будут удалены до первых рулей выражение или не-пробельный символ с этой стороны.
Ответ 2
Вот несколько примеров, которые могут помочь вам понять, что делает ~
.
В .js
:
{
hello: 'Hello, World!',
}
Пример # 1:
.hbs
<div>
{{hello}}
</div>
.html
<div>
<h1>Hello, World!</h1>
</div>
Пример # 2:
.hbs
<div>
{{~hello}}
</div>
.html
<div>Hello, World!
</div>
Пример # 3:
.hbs
<div>
{{~hello~}}
</div>
.html
<div>Hello, World!</div>
В основном, это для удаления пробелов в выходном HTML.