
206
|
第十二章
集合物件的排序
如果想要調整集合物件的排序方式,可以利用
comparator()
函式,它的回傳值就是集合
物件排序的依據:
var Users = Backbone.Collection.extend({
comparator: function(user){
return user.get("name");
}
});
做為排序依據的回傳值,可以是字串或數字型態(這點和 JavaScript 標準的排序不太一
樣)。像前面這段程式碼,就會讓
Users
集合物件以 name 的字母順序進行排序。排序的
動作會自動進行,不過如果希望集合物件能重新排序一次,可以呼叫
sort()
函式。
檢視器
Backbone 裡的檢視器,指的並不是模版本身,而是用來處理模型呈現方式的控制類別。
這部分可能會讓人感到困惑,因為對大部分實作 MVC 架構的函式庫而言,檢視器都只
是單純的 HTML 程式碼或模版,對控制器才會被用來設定檢視器的事件和繪製模版。但
無論如何,對 Backbone 來說,「只要是負責呈現 UI、DOM 元件內容的程式邏輯」,就
會被歸為檢視器的範疇。
建立檢視器的做法就和建立模型、集合物件一樣,只要呼叫
Backbone.View
的
extend()
函式即可:
var UserView = Backbone.View.extend({
initialize: function(){ /* ... */ },
render: function(){ /* ... */ }
});
無論檢視器有沒有真的被安插進網頁裡,每個檢視器的物件實體,都會對應到網頁上某 ...