我有一个类似的模型:
TestModel = Em.Object.create({
id:'',
name:''
})
和一个对象ArrayController如:
testArrayController = Em.ArrayController.create({
content: [],
init: function() {
//push some object TestModel
}
});
我想删除一些依赖于内容数组中对象的id属性的对象。怎么做?
答案 0 :(得分:19)
我会使用findProperty
和removeObject
的组合,请参阅http://jsfiddle.net/pangratz666/rXN4E/:
App.testArrayController = Em.ArrayController.create({
content: [],
removeItem: function(propName, value){
var obj = this.findProperty(propName, value);
this.removeObject(obj);
}
});
App.testArrayController.removeItem('id', 42);
答案 1 :(得分:4)
我有一种情况,我有一个表格,每行旁边都有一个复选框。
我想删除单击按钮时选择的每一行。
每个复选框都绑定到项目控制器上的isSelected属性。
我使用removeObjects和filterProperty函数删除项目:
this.removeObjects(this.filterProperty('isSelected'));
以下是jsbin的示例。
这些是重点:
App.IndexController = Ember.ArrayController.extend({
itemController: 'IndexItem',
actions: {
removeSelected: function() {
this.removeObjects(this.filterProperty('isSelected'));
}
}
});
App.IndexItemController = Ember.ObjectController.extend({
isSelected: true
});