0

如何仅通过具有属性equals的对象填充Ember.js 的 Selectvalidtrue

带有数据的数组(JS):

 tickets: [
    {
        title: 'Pink',
        valid: true
    },
    {
        title: 'Blue',
        valid: false
    }
]

选择(哈佛商学院):

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

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

4

2 回答 2

1

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

http://emberjs.jsbin.com/EGORAPI/1/edit

App.IndexController = Ember.ArrayController.extend({
  validItems: function(){
    return this.filterBy('valid', true);
  }.property('@each.valid')
});
于 2013-11-10T19:58:04.347 回答
1

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

validTicket: Ember.computed.filterBy('tickets','valid',true)  

在你的 hbs 中,

{{view Ember.Select
contentBinding = "validTicket"
prompt = "Select ticket"
optionLabelPath ="content.title" }}
于 2013-11-11T04:53:32.440 回答