我正在尝试使用 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);
});
}
最佳答案
data
可能具有相同的属性,但它不是数组中存在的对象。看这里,这两个对象看起来完全相同,但它们是不同的对象,因此不相等。
{ foo : 7 } != { foo : 7 }
从集合中删除时,如果传入要删除的对象,则该对象必须存在于集合中。
您需要首先找到该对象,然后将其从集合中删除。
.then(function(data) {
var obj = self.findBy('id', id); // assuming the object has a property 'id'
self.removeObject(obj);
});
关于javascript - Ember.js 如何在没有 ember 数据的情况下从数组 Controller 中删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27454228/