把手模板 - "代字号"在if语句中

时间:2014-09-26 08:38:45

标签: backbone.js marionette handlebars.js

我们有如下声明:

{{~#if someCondition ~}} 
<div class="whyweneedtildehere"></div> 
{{~/if~}}

handlebars模板中简单if语句和if语句与“〜”之间有什么区别?

2 个答案:

答案 0 :(得分:22)

它被称为代字号,可能会帮助您进一步谷歌。

Handlebars docs answers your question in detail

  

任何胡子的任何一侧都可以省略模板空白   通过括号添加〜字符的语句。全部应用时   该侧的空白将被移除到第一把手   表达式或非空白字符。

答案 1 :(得分:4)

以下示例可能有助于您了解~的作用。

.js

{
  hello: 'Hello, World!',
}

示例#1:

.hbs

<div>
  {{hello}}
</div>

html的

<div>
  Hello, World!
</div>

示例#2:

.hbs

<div>
  {{~hello}}
</div>

html的

<div>Hello, World!
</div>

示例#3:

.hbs

<div>
  {{~hello~}}
</div>

html的

<div>Hello, World!</div>

基本上,它用于删除输出HTML中的空格。