Select 列表显示不在模型中的项目
Select list showing items not in model
我的组有一个模型,基本上是以下字段:
- 姓名
- 用户
我正在用以下内容填充模板中的列表
{{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" }}
过滤第二个 select 以仅包含第一个 select 中不存在的用户的最合适方法是什么 - 即显示 [=] 中不存在的用户4=]
您可以在您的控制器上实现过滤器:
users: this.get('model.users').filter(function(user){
return !users.contains(user);
});
类似于@Oren 的回答,但我认为您需要将其声明为 属性 并通过 @each
观看用户的内容
users: function(){
return this.get('model.users').filter(function(user){
return !users.contains(user);
});
}.property('model.users.@each')
我的组有一个模型,基本上是以下字段:
- 姓名
- 用户
我正在用以下内容填充模板中的列表
{{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" }}
过滤第二个 select 以仅包含第一个 select 中不存在的用户的最合适方法是什么 - 即显示 [=] 中不存在的用户4=]
您可以在您的控制器上实现过滤器:
users: this.get('model.users').filter(function(user){
return !users.contains(user);
});
类似于@Oren 的回答,但我认为您需要将其声明为 属性 并通过 @each
users: function(){
return this.get('model.users').filter(function(user){
return !users.contains(user);
});
}.property('model.users.@each')