我有一個骨幹收集叫做users
,每個user
有一個獨特的name
和非唯一的page
。我想按頁面排列這個users
集合,但Backbone的comparator
給出了與沒有聲明comparator
時相同的結果。Backbone.js收集比較沒有按編號排序
比方說,我有一個用戶喜歡收藏等等(逐一添加,從上到下):
name: B, page: 1
name: D, page: 2
name: A, page: 3
name: C, page: 4
如果我做
class Entities.Users extends Backbone.Collection
...
comparator: (u) ->
u.get("name").toUpperCase()
則排序按預期(通過name
):
name: A, page: 3
name: B, page: 1
name: C, page: 4
name: D, page: 2
不過,如果我嘗試page
排序:
comparator: (u) ->
parseInt u.get("page")
然後收集不正確排序(第1頁總是在結尾):
name: D, page: 2
name: A, page: 3
name: C, page: 4
name: B, page: 1
爲什麼會發生這種事,我怎麼能正確排序由page
?
編輯
這也不會與普通字符串版本的page
工作:
comparator: (u) ->
u.get("page")
可以在視圖中應用某種過濾器嗎? (抱歉不太熟悉木偶) –