backbone入門系列(4)集合

2022-05-03 04:21:10 字數 3038 閱讀 2810

collection就是一堆model的集合,這個集合就是個舞台,可以放乙個人說單口相聲,也可以對口,也可以群口,,,

在前文,也就是入門系列3的基礎上,新增js**

var notecollection=backbone.collection.extend();

var note1=new note();//設定id,表明唯一性

var note2=new note();

var note3=new note();

執行

length為0,表明「舞台」上是空的

1.現在要往集合裡新增東西

首先在例項化時新增,

新增了note1,和note2,這時候length為2.

建立集合後,還可以往集合裡新增模型

通過add可以新增,可以單獨新增,如notecollection.add(note1),也可以多個一起新增,傳入乙個陣列,如notecollection.add([note2,note3])

如果新增的已經存在,預設忽略

如果再加乙個merge:true引數,則修改原有模型,直接新增,如:notecollection.add(),在前面指定note模型上進行建立

2. 刪除模型

移除指定模型 remove  如,notecollection.remove(note1),返回移除後的集合

清空模型或替換 reset   引數空為清空,有引數則為用引數替換已有引數。如notecollection.reset([note1,note2])//用1,2替換2,3

pop()無引數  刪除最後乙個模型 返回刪除的那個模型

shift()無引數,刪除第乙個模型,返回刪除的那個模型

3.其他新增模型方法

push().引數為新增的模型,追加模型,返回所追加模型

unshift().在最前面新增模型,返回新新增的模型

add(),兩個引數,第乙個為要新增的模型,第二個為,num為索引號,索引號從0開始

4.集合相關事件

var notecollection = backbone.collection.extend(,

'remove': function(model, collection, options) ,

'change': function(model, options)

});}

});對集合的各種方法進行處理

5.更好的新增方法

set()集合引數存在即更新,不存在則新增,引數裡沒有單原有,則刪除。

如果不刪除則新增其他引數

6.得到模型

get()引數為id號

add()引數為索引號,從0開始

7.集合檢視

集合檢視就是讓舞台上好多人一起上電視,給集合建立乙個檢視,把每乙個模型的檢視都放在這裡面。

首先準備乙個集合檢視,

var notecollectionview = backbone.view.extend()設定el屬性為無序列表ul

然後我們要把每個模型渲染後的結果新增到這個檢視中。

那麼先建立乙個集合檢視的例項

var notecollectionview = new notecollectionview();//指定集合為notecollection

這個集合我們先前建立好了

其中模型為

var note = backbone.model.extend(,

initialize: function() );

this.on('change:title', function(model, options) );

this.on('invalid', function(model, error) )

},validate: function(attributes, options)

}});

三個模型的例項

var note1 = new note();

var note2 = new note();

var note3 = new note();

集合為var notecollection = backbone.collection.extend(,

'remove': function(model, collection, options) ,

'change': function(model, options)

});}

});把模型例項放在集合例項中

var notecollection = new notecollection([note1, note2, note3]);

然後在集合檢視中新增渲染

render: function() ,

定義addone

修改單個檢視

var noteview = backbone.view.extend(,

template: _.template(jquery('#list-template').html()),

render: function()

});新增集合檢視,初始化

initialize: function() ,

執行一下

接下來把這些在介面顯示出來

在html中新增**

再到控制台

介面顯示

集合檢視原始碼

4 集合與有序集合

特性 無序 隨機操作 唯一性,確定性 zrevrange key start stop 將集合降序排列,取在start,stop 之間的元素 zrangebyscore key min max withscore limit offset n 將score在 min,max 之間的元素跳過offse...

scala基礎4 集合

map set list 集合 可變集合可以在適當的地方被更新或擴充套件,意味著你可以修改 新增 移除乙個集合的元素。而不可變集合類,相比之下,永遠不會改變。不過,你仍然可以模擬新增,移除或更新操作。但是這些操作都將返回乙個新的集合,同時原來的集合不發生改變。不可變的都在immutable裡,可變的...

ue4集合型別 UE4 集合 TSet容器

一 tset是什麼 ue4中,除了tarray動態陣列外,還提供了各種各樣的模板容器。這一節,我們就介紹集合容器 tset。類似於tarray,尖括號裡面的t是模板型別,可以是任何c 型別。乙個集合表示了一組互不重複的資料元素。比如tset表示了一組float集合,tset表示了一組fstring集...