Backbonejs 集合更改排序顺序?
在初始化主干集合后,如何更改其排序顺序?
尝试过这个:不起作用
collection.comparator = function () {
// new function
}
collectionObject.sort()
How do I change the sort order of a backbone collection after it has already been initialized?
Tried this: Doesn't work
collection.comparator = function () {
// new function
}
collectionObject.sort()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为您没有正确定义比较器。如果定义比较器,对象将以正确的顺序插入到集合中。
下面是一个示例,您可以在加载了主干的站点上运行 Firebug:
注意比较器如何返回存储在每个章节的 page 属性中的值。 Backbone 的集合排序就像使用字符串或整数的 sortBy 一样,并且不遵循传统的 -1,0,1 比较器方法。
I don't think you are defining the comparator correctly. If you define a comparator, objects will be inserted into the collection in the right order.
Here is an example you can just run through firebug on a site with backbone loaded:
Notice how the comparator returns the value stored in the page attribute of each chapter. Backbone's collection sorting acts like a sortBy which uses strings or ints, and doesnt follow a traditional -1,0,1 comparator approach.
如果您对正确的集合调用排序,它应该可以工作:
It should work if you call sort on the correct collection: