Javascript 主干集合在排序后未刷新

Javascript 主干集合在排序后未刷新,javascript,backbone.js,marionette,Javascript,Backbone.js,Marionette,我正在通过向表中添加排序可能性来修改。看起来我已经做了我需要做的事情,但是桌子没有被刷新 1) 收藏: 问题出在哪里?我所要做的就是在视图的initialize方法中添加一个侦听器,以便在每个排序事件上调用this.render(),如下所示: initialize: function () { this.listenTo(this.collection, "sort", function () { this.render

我正在通过向表中添加排序可能性来修改。看起来我已经做了我需要做的事情,但是桌子没有被刷新

1) 收藏:


问题出在哪里?

我所要做的就是在视图的initialize方法中添加一个侦听器,以便在每个排序事件上调用this.render(),如下所示:

        initialize: function () {
            this.listenTo(this.collection, "sort", function () {
                this.render();

            });
        },

只是用户2814599的另一个答案的简短版本:

View.Devices = Marionette.CompositeView.extend({
    // Omitted other attributes
    collectionEvents: {
        'sort': 'render'
    }
});

请参阅:

所选设备的代码是什么?它是否触发
sort
reset
(例如
this.trigger('sort')
)?sortDevices看起来像这样:sortDevices:function(attr){this.sortAttribute=attr;this.sort();},this.sort();-触发器排序事件您可以发布
排序的代码吗?sort()是主干网的内置功能
initialize: function () {
this.listenTo(this.collection, "sort reset", function() {
    console.log("Sort RESET");
    this.appendHtml = function(collectionView, itemView, index) {
        collectionView.$el.append(itemView.el);
    }
});
},
        initialize: function () {
            this.listenTo(this.collection, "sort", function () {
                this.render();

            });
        },
View.Devices = Marionette.CompositeView.extend({
    // Omitted other attributes
    collectionEvents: {
        'sort': 'render'
    }
});