关于 ember.js:#if 的双重条件

Double condition with #if

如何做双重条件{{#if person


我不相信车把支持 {{#if}} 语句中的多个项目(相关:handlebars.js 中的逻辑运算符 {{#if}} 条件)。

您可以将控制器/视图中的多个值折叠成一个计算属性,然后在模板中检查该单个值。当任一原始值更新时,此新计算属性将更新:

1
2
3
4
5
6
7
App.ValuesTestController = Ember.Controller.extend({
    value1: false,
    value2: true,
    value1and2: function(){
            return this.get('value1') && this.get('value2');
    }.property('value1', 'value2')
});

您的模板将如下所示:

1
2
3
{{#if value1 }}value 1 true{{/if}}
{{#if value2 }}value 2 true{{/if}}
{{#if value1and2 }}value 1 and 2 true{{/if}}

即使@CraigTeegarden 的回答是优雅的,我也发现了一些案例,这种解决方法让我的生活更轻松,因此让我更快乐:

1
2
3
4
5
{{#if person}}
  {{#if work}}
    Yeah!
  {{/if}}
{{/if}}