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

Posted

技术标签:

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

我有这样的声明:

#if IsValid

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

#if not IsValid

【问题讨论】:

【参考方案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

【讨论】:

以上是关于如何在 Ember Handlebars 中使用 if 语句实现 not?的主要内容,如果未能解决你的问题,请参考以下文章

Ember.js:Handlebars 不显示任何内容

如何在 Ember 中使用 jsTree 插件

ember JS:遍历json列表并在Handlebars中显示

如何使用Ember 0.9.8.1重新格式化tr元素?

如何在车把 ember 中定义自定义助手

在 Handlebars 模板中迭代对象