双重条件#if

时间:2013-01-04 00:21:39

标签: ember.js

如何做双重条件{{#if person&&工作}}? 和&&似乎不是一个有效的运算符

2 个答案:

答案 0 :(得分:8)

我不相信把手支持{{#if}}语句中的多个项目(相关:Logical operator in a handlebars.js {{#if}} conditional)。

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

App.ValuesTestController = Ember.Controller.extend({
    value1: false,
    value2: true,
    value1and2: function(){
            return this.get('value1') && this.get('value2');
    }.property('value1', 'value2')
});

您的模板如下所示:

<div>{{#if value1 }}value 1 true{{/if}}</div>
<div>{{#if value2 }}value 2 true{{/if}}</div>
<div>{{#if value1and2 }}value 1 and 2 true{{/if}}</div>

答案 1 :(得分:3)

即使@CraigTeegarden's answer是优雅的,我也发现了一些这种解决方法使我的生活变得更轻松的情况,因此它让我更开心:

{{#if person}}
  {{#if work}}
    Yeah!
  {{/if}}
{{/if}}