如果我有一些参数是集合的典范,作为一个例子:骨干JS模型响应阵列骨干收集
var Mdl = Backbone.Model.extend({
defaults:{
test: new Backbone.Collection()
}
});
现在可以说,我做一个获取这个模型,并在我的服务器端响应我有一个属性称为“测试”,这是一个数组。我想将数组添加到我的集合中,或者将它重置为这个数组,以便它仍然是一个骨干集合,但是这不是默认完成的,如果我按照预期在我的模型上运行重置,它会覆盖“测试”属性与响应中的数组。
让它将响应属性“test”作为骨干集合而不是数组对待的最佳方式是什么?我基本上想检查属性是否是一个数组,然后检查该属性是否已经作为集合在模型上定义,如果是这样,则使用数组重置此集合,而不是覆盖它。
我可以通过创建自己的Backbone Sync来做到这一点,但我不确定这是否是最好的方法来解决它,你们觉得呢?
谢谢。
您不需要Sync的覆盖。 Backbone提供了解析方法,它采用'response' http://documentcloud.github.com/backbone/#Model-parse你将不得不编写代码来做你现在想做的事 – Deeptechtons
你真的这么做吗? 'new Backbone.Collection()'我宁愿像下面那样创建一个集合的实例。 'var tstCol = Backbone.Collection.extend({}); ...默认值:{test:new tstCol()} ... – Deeptechtons