【发布时间】:2016-03-14 23:36:31
【问题描述】:
如何做双重条件 {{#if person && work}} ? && 似乎不是一个有效的运算符
【问题讨论】:
标签: ember.js
如何做双重条件 {{#if person && work}} ? && 似乎不是一个有效的运算符
【问题讨论】:
标签: ember.js
我不相信车把支持 {{#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>
【讨论】:
即使@CraigTeegarden's answer 是优雅的,我也发现了一些案例,这种解决方法让我的生活更轻松,因此让我更快乐:
{{#if person}}
{{#if work}}
Yeah!
{{/if}}
{{/if}}
【讨论】: