我正在 .clone() 收集一个集合,这样我就可以在它上面使用拼接循环而不干扰原始集合。克隆阵列中的模型是原件还是副本?
我需要的是包含原始模型的数组的副本。
感谢您提供任何信息!
我正在 .clone() 收集一个集合,这样我就可以在它上面使用拼接循环而不干扰原始集合。克隆阵列中的模型是原件还是副本?
我需要的是包含原始模型的数组的副本。
感谢您提供任何信息!
您将获得与包装在相同类型的新集合中的源集合相同的模型。
下面是 collection.clone 的实现:
clone: function() {
return new this.constructor(this.models);
},
或者,如果您更喜欢深度克隆,请覆盖 Backbone.Collection.clone
clone: function(deep) {
if(deep) {
return new this.constructor(_.map(this.models, function(m) { return m.clone(); }));
}else{
return Backbone.Collection.prototype.clone();
}
}