在Backbone若需要用到排序功能
使用Collection來對資料排序,速度會比自己另外寫演算法還要快很多
注意事項
1.資料需儲存在Collection內的models
2.設定comparator
建議使用underscore的sortBy方式來設定comparator
sortBy的設定方式是
所設定的funcion會有一個model物件,要依照model物件的哪個屬性做排序
就回傳那個要比較的值就可以了
如果要做多種不同屬性的sort
可由外部設定一個sortType帶入,依照sortType切換即可
例
@collection.comparator=(_model)=>
switch @sortType
when 'name'
_model.get('songName')
when 'artist'
_model.get('artistName')
when 'album'
_model.get('albumName')
3.設定監聽 當排序完成會被觸發例
@collection.comparator=(_model)=>
switch @sortType
when 'name'
_model.get('songName')
when 'artist'
_model.get('artistName')
when 'album'
_model.get('albumName')
4.執行排序@collection.sort()
沒有留言:
張貼留言