如何在Ember Handlebars中实现if语句?

时间:2012-05-10 18:33:46

标签: ember.js handlebars.js

我有这样的陈述:

{{#if IsValid}}

我想知道如何使用if语句不是这样的:

{{#if not IsValid}}

6 个答案:

答案 0 :(得分:375)

简单问题的简单答案:

{{#unless isValid}}
{{/unless}}

另请注意,您可以在{{else}}{{#if}}与结束标记之间插入{{#unless}}

答案 1 :(得分:22)

你有很多方法可以做到这一点。

1。使用{{unless}}

{{#unless isValid}}
  ...
{{else}}
  ...
{{/unless}}

2。使用inline-if helper:

{{#if (if isValid false true)}}
  ...
{{else}}
  ...
{{/if}}

3。使用ember-truth-helpers插件:

{{#if (not isValid)}}
  ...
{{else}}
  ...
{{/if}}

答案 2 :(得分:2)

unless阻止帮助(内置帮助程序)

unless助手与if助手相反。

  

如果表达式返回一个假值,它将被渲染。

  {{#unless valid}}
  <h3 class="warning">WARNING</h3>
  {{/unless}}

答案 3 :(得分:1)

{{#if items.length}}
    //Render
{{/if}}

这里的items.length ..           如果它返回除null之外的某个值,那么它只会进入if循环。

注意:您也可以检查布尔值。在If块中

{{#if booleanFloag}}

答案 4 :(得分:1)

可以通过多种方式完成。

1使用unless

{{#unless IsValid}}
<Your Code>
{{/unless}}

2.使用if else

{{#if IsValid}}
{{else}}
<Your Code>
{{/if}}

3.使用not助手

{{#if (not IsValid)}}
<Your Code>
{{/if}}

答案 5 :(得分:0)

如果你想使用if和else,那么下面的语句将会有用:

{{#if author}}
    <h1>{{firstName}} {{lastName}}</h1>
{{else}}
    <h1>Unknown Author</h1>
{{/if}}

注意:不要关闭if块直到逻辑完成......