2012-07-20 26 views
1

我想替換視圖中的集合。我用的是復位命令是這樣的:替換視圖中的集合

var maColl=mContent.get(ici).get("svgParameterList"); 
msvgParameterListView.collection.reset(maColl); 

一個JSON.stringify給出了這樣的:

maColl

[{"id":"x","name":"x"},....{"id":"style","name":"style"}] 

msvgParameterListView.collection

[[{"id":"x","name":"x"},....{"id":"style","name":"style"}]] 

現在,我的數組中有我的集合,所以當我渲染它時返回null值。

如何將集合的數組更改爲集合?
總之,如何使msvgParameterListView.collection等於maColl?

注意新收集的[[ ]]
注意maColl是另一個集合中的集合。

回答

2

如果我理解正確,您試圖重置與另一個集合的模型集合? collection.toJSON是你的朋友:

的toJSONcollection.toJSON()
返回包含該集合中的每個模型的屬性的散列數組。這可以用來對 進行序列化並持續整個集合。這個 方法的名稱有點令人困惑,因爲它符合JavaScript的JSON API。

可以適用這樣

msvgParameterListView.collection.reset(maColl.toJSON()); 

或者,如果你想保持原來的模型的參考,通過maColl.models

msvgParameterListView.collection.reset(maColl.models); 

直接傳遞一個集合reset只會混淆骨幹。

+0

謝謝! maColl.models完美工作,因爲它保持價值。 – user1443858 2012-07-20 12:54:50