选择列表,显示不在模型中的项目

时间:2015-01-06 12:20:53

标签: ember.js

我的团队有一个模型,基本上是以下字段:

  • 名称
  • 用户

我使用以下

填充模板中的列表
{{view "Ember.Select" content=model.users  optionValuePath="content.id" optionLabelPath="content.name" attributeBindingds="size" size="5"}}

我在控制器中加载系统中的所有用户,如下所示:

export default Ember.Controller.extend({
    users: [],

    init: function () {
        this._super();

        this.set('users', this.store.find('user'));
    })
})

所有用户的填充如下:

{{view "Ember.Select" content=users  optionValuePath="content.id" optionLabelPath="content.name" attributeBindingds="size" size="5" }}

过滤第二个选择以仅包含不在第一个选择中的用户的最合适方式是什么 - 即显示model.users中不存在的用户

2 个答案:

答案 0 :(得分:0)

您可以在控制器上实施过滤器:

users: this.get('model.users').filter(function(user){
    return !users.contains(user);
});

答案 1 :(得分:0)

与@ Oren的答案类似,但我认为您需要将其声明为属性并通过@each

观看用户的内容
users: function(){
  return this.get('model.users').filter(function(user){
    return !users.contains(user);
  });
}.property('model.users.@each')