でコレクションをソートしようとしていますMarionette.CompositeView
。
次のようなコレクションがあります。
[
{id: 1, name: 'bar'},
{id: 2, name: 'boo' },
{id: 3, name: 'foo' }
]
コレクションを id で逆順にソートする必要があります。
実際には、ページをリロードしたときにのみ機能します。
新しいモデルを追加すると、新しいアイテムが明らかにランダムにリストに追加されます。
ページを更新すると、適切にソートされます。
私の質問は次のとおりです
。1) 新しいモデルを追加するときに問題を解決するにはどうすればよいですか?
2) コードを改善することは可能でしょうか?
これが私のコードです:
return Marionette.CompositeView.extend({
initialize: function () {
this.collection.fetch();
},
onRender: function () {
var collection = this.collection;
collection.comparator = function (collection) {
return - collection.get('id');
}
},
onSuccess: function () {
this.collection.add(this.messageModel);
this.collection.sort(); // the messageModel seems to be added
// apparently randomly to the list.
// only if I refresh the page it will be ok
}
})