Javascript 如何填充Ember.js';是否仅由某些对象选择?

Javascript 如何填充Ember.js';是否仅由某些对象选择?,javascript,ember.js,Javascript,Ember.js,如何仅由属性有效等于真实的对象填充 带数据的数组(JS): 选择(哈佛商学院): 在这种情况下,我想选择在选项列表上只显示粉红色。有几种方法可以处理此问题,最简单的方法似乎是在将内容传递到余烬选择之前过滤内容 您可以使用Ember.computed.filterBy过滤掉数据 validTicket: Ember.computed.filterBy('tickets','valid',true) 在你的哈佛商学院 {{view Ember.Select contentBinding =

如何仅由属性
有效
等于
真实
的对象填充

带数据的数组(JS):

选择(哈佛商学院):


在这种情况下,我想选择在选项列表上只显示粉红色。

有几种方法可以处理此问题,最简单的方法似乎是在将内容传递到余烬选择之前过滤内容


您可以使用
Ember.computed.filterBy
过滤掉数据

validTicket: Ember.computed.filterBy('tickets','valid',true)  
在你的哈佛商学院

{{view Ember.Select
contentBinding = "validTicket"
prompt = "Select ticket"
optionLabelPath ="content.title" }}

对于此解决方案,您需要将属性基于
@each.valid
,而不仅仅是
@each
,以便在数据更改时正确更新。示例:很好,Luke,我只是在偷懒地观察是否添加了新项目(这可能更容易观察长度)。注意:如果您使用的是Ember 1.1,则不需要使用
绑定来为
Ember提供内容。选择
。参考
App.IndexController = Ember.ArrayController.extend({
  validItems: function(){
    return this.filterBy('valid', true);
  }.property('@each.valid')
});
validTicket: Ember.computed.filterBy('tickets','valid',true)  
{{view Ember.Select
contentBinding = "validTicket"
prompt = "Select ticket"
optionLabelPath ="content.title" }}