javascript - Ember.js 如何在没有 ember 数据的情况下从数组 Controller 中删除对象

标签 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);
        });
    }

最佳答案

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/

相关文章:

javascript - SerializeArray 表行包含输入和/或文本。如何?

javascript - jQuery Flexigrid 调整 IE7 中的列大小已损坏

javascript - 在 Ember 应用程序上设置 Airbrake

javascript - Parsley ajax 发送 post 变量

javascript - jQuery 在两个类之间滚动切换

javascript - 通过多个名称查找元素 jQuery

ember.js - emberjs 1.0.0pre4 如何将上下文对象传递给资源 "...Index"路由?

ember.js - Ember-data - "Attempted to handle event ` deleteRecord` on *record* 而处于 root.deleted.saved 状态。”

javascript - Chrome 中的并发 DOM 节点修改?

c# - 如何在 ASPX 中仅使用原始页面请求自动完成?