Ember.js如何在没有ember数据的情况下从数组控制器中删除对象

时间:2014-12-13 00:31:44

标签: javascript jquery ember.js

我正在尝试使用jquery ajax删除记录后更新arraycontroller模型。我可以使用self.pushObject(data)添加新对象,但我无法使用self.removeObject(data)删除对象。有人可以帮忙吗("数据"是我删除的对象,服务器在服务器中将其删除后将其发回。)

 removeTodo: function(id) {
        var page_id = id;
        self = this;
        Ember.$.ajax({
            url: url+id,

            type: "DELETE"
        }).then(function(data) {
            self.removeObject(data);
        });
    }

1 个答案:

答案 0 :(得分:2)

data可能具有相同的属性,但它不是数组中存在的对象。看到这里,这两个对象看起来完全相同,但它们是不同的对象,因此不相等。

{ foo : 7 } != { foo : 7 }

从集合中删除时,如果传入要删除的对象,则该对象必须存在于集合中。

您可能希望首先找到该对象,然后将其从集合中删除。

.then(function(data) {
   var obj = self.findBy('id', id); // assuming the object has a property 'id'
   self.removeObject(obj);
});