2012-07-20 58 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