<b>《Backbone.js的集合詳解(上)》</b>
Backbone.js的集合隻是一個簡單的有序集的模型。通過适應模型和集合,我們可以避免資料處理邏輯放到了我們的視圖層。此外,模型和集合還提供了便利的與後端一起工作的方法,當資料發生變化時,可以自動化地标記Backbone.js視圖。這樣,它可以用于如下的情況:
通常情況下你的集合隻适應一種模型,但模型本身并不局限于集合的類型。
下面是常見的模型/集合的例子:
上面的代碼告訴我們如何建立集合。但是它沒有告訴我們用資料操縱集合的過程。是以,讓我們探索這個過程:
下面我們來看看Backbone.js的集合和其它元件的關系:
<b>一、添加模型到集合</b>
正如我們所知的那樣,集合是模型的集合。是以,我們可以在集合上添加模型。要添加模型到集合,我們可以使用add方法。我們還可以添加模型到集合的開始——通過使用unshift方法。
<b>二、從集合中移除模型</b>
很多時候,我們會有從集合中移除一些指定的資料這樣的需求。要從集合中移除模型,我們需要提供模型的id。如果我們想用一個完整的新資料集替換原集合,我們可以使用reset方法。
<b>三、Get和Set</b>
如果我們需要從代碼其它地方的集合中擷取一個值,那麼可以直接使用get方法。此時,我們向帶檢索的模型傳遞ID值。
集合的set方法有一個有趣的實作。set方法通過傳遞模型清單,執行集合的“智能”更新。如果清單中的模型還不在集合中,那麼會添加到集合。如果模型已經在集合中,那麼它的屬性會被合并。如果集合包含了不屬于清單的任意模型,那麼這項模型會被移除。
正如我們在上面所看到的那樣,事前我們已經有2個模型了,當我們添加第3個模型時,早先的模型保持不變。