使用ember评估车把中的两个条件

Jua*_*dim 6 handlebars.js ember.js

我想知道是否有可能做这样的事情:

{{#if ClientController.Client.number && PhoneController.hasLinesToInstall}}
...
{{/if}}}
Run Code Online (Sandbox Code Playgroud)

谢谢,

Juanitos

Ano*_*ous 8

我不认为在这样的把手中链接这样的条件是不可能的 - 我在文档中找不到任何关于它的东西.

你可以嵌套它们,如下所示:

{{#if ClientController.Client.number}}
    {{#if PhoneController.hasLinesToInstall}}
        ...
    {{/if}}
{{/if}}
Run Code Online (Sandbox Code Playgroud)

这将取得同样的结果.

  • @Juanito - 我一直在做更多的阅读,我发现有些人说明了***不可能***并且它是把手的设计特征(迫使你保持你的模板清洁并且没有属于其他地方的逻辑.http://stackoverflow.com/questions/8853396/logical-operator-in-a-handlebars-js-if-conditional#comment-11152800 http://blog.teamtreehouse.com/handlebars-js-part-2-partials -and-助手 (4认同)

Max*_*ace 6

暂不支持它,但是您可以使用插件https://github.com/jmurphyau/ember-truth-helpers

ember install ember-truth-helpers
Run Code Online (Sandbox Code Playgroud)

然后,在您的模板中:

{{#if (and ClientController.Client.number PhoneController.hasLinesToInstall)}}
  ...
{{/if}}}
Run Code Online (Sandbox Code Playgroud)

以前,社区的理解是模板应该在很大程度上没有逻辑。随着时间的流逝,我们的观点已转向将更多的声明性逻辑放入模板中ember-truth-helpers,而ember-composable-helpers就是一个很好的例子。