2013年3月1日 星期五

BackboneJs Collection Sort 排序

BackboneJs Collection 排序
在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()

沒有留言: