我正在尝试使用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);
});
}
答案 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);
});