如何仅按某些对象填充 Ember.js 的选择

How to populate Ember.js's Select only by some objects?

本文关键字:Ember js 选择 填充 对象 何仅按      更新时间:2023-09-26

如何填充Ember.js的仅由属性valid等于true的对象选择?

带数据的数组 (JS):

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

选择 (哈佛商学院):

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

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

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

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

App.IndexController = Ember.ArrayController.extend({
  validItems: function(){
    return this.filterBy('valid', true);
  }.property('@each.valid')
});

您可以使用Ember.computed.filterBy来筛选数据。

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

在你的哈佛商学院,

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