11

我有一个模型:

TestModel = Em.Object.create({
    id:'',
    name:''
})

和一个对象 ArrayController 像:

testArrayController = Em.ArrayController.create({
    content: [],
    init: function() {
        //push some object TestModel
    }
});

我想删除一些对象,这取决于内容数组中对象的 id 属性。怎么做?

4

2 回答 2

19

我会使用 and 的组合findPropertyremoveObject请参阅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);
于 2012-05-29T09:33:46.187 回答
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
});
于 2013-10-17T11:41:32.367 回答