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

Ember.js how to remove object from array controller without ember data

本文关键字:数组 情况下 控制器 对象 删除 数据 js ember Ember      更新时间:2023-09-26

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

 removeTodo: function(id) {
        var page_id = id;
        self = this;
        Ember.$.ajax({
            url: url+id,
            type: "DELETE"
        }).then(function(data) {
            self.removeObject(data);
        });
    }

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

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

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

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

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