【问题标题】:How to implement not with if statement in Ember Handlebars?如何在 Ember Handlebars 中使用 if 语句实现 not?
【发布时间】:2012-05-19 09:21:45
【问题描述】:

我有这样的声明:

{{#if IsValid}}

我想知道如何使用如下所示的否定 if 语句:

{{#if not IsValid}}

【问题讨论】:

    标签: ember.js handlebars.js


    【解决方案1】:

    简单问题的简单答案:

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

    另外请记住,您可以在{{#if}}{{#unless}} 和结束标记之间插入{{else}}

    【讨论】:

    • 谢谢,我认为他们应该将其命名为 {{#ifnot flag}} 而不是 {{#unless flag}}。
    • @FabioCaccamo 最初的实现者是 Rubyist,其中unlessif 的相当常见的反转。
    【解决方案2】:
    {{#if items.length}}
        //Render
    {{/if}}
    

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

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

    {{#if booleanFloag}}
    

    【讨论】:

      【解决方案3】:

      如果您想使用 if 和 else,下面的语句将有助于完整:

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

      注意:在逻辑完成之前不要关闭 if 块 ...

      【讨论】:

        【解决方案4】:

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

        1。使用{{unless}}:

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

        2。使用 inline-if 助手:

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

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

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

        【讨论】:

        • 发现在下一个方法中使用非常有用:{{input type="text" ... disabled=(not someProperty) ...}}
        【解决方案5】:

        可以通过多种方式完成。

        1 使用unless

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

        2.使用if else

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

        3.使用not助手

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

        【讨论】:

          【解决方案6】:

          unless块助手(内置助手)

          unless 助手是 if 助手的倒数。

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-11-11
            • 1970-01-01
            • 2017-04-07
            • 1970-01-01
            相关资源
            最近更新 更多