3

我想在 emberjs 和 jqueryui 中创建一个包含一些可排序项目的列表(或表)。

我在 JSFiddle 上上传了一个示例:http: //jsfiddle.net/KCxxu/

当我启动它并单击删除时,它可以完美运行。但是,当我第一次重新排序项目并再次单击删除时,直到我单击两个删除按钮之前都没有任何反应。

有任何想法吗?

非常感谢!

4

1 回答 1

2

在你的 del 函数中添加contentWillChange()contentDidChange()

似乎现在可以工作

window.App = Ember.Application.create({});

Item = Ember.Object.extend({
    id : null,
    name : null
});

App.listController = Ember.ArrayProxy.create({
    content : [
        Item.create({id: 1, name : 'test'}),
        Item.create({id: 1, name : 'test2'}),
    ],
});

App.ListView = Ember.View.extend({
    tagName : 'tr',

    didInsertElement : function() {
        var me = this;
        this._super();

        // Make list sortable
        this.$().parent("tbody").sortable({
            items : 'tr',
            opacity : 0.6,
            axis : 'y'
        });
    },

    del : function(event) {
        var item = event.context;
        App.listController.contentWillChange();
        App.listController.removeObject(item);
        App.listController.contentDidChange();
    }
});

http://jsfiddle.net/KCxxu/3/

于 2012-07-20T13:44:44.057 回答