我正在向我的骨干系列添加一个项目,如下所示:
item = existingItem.clone()
myCollection.add(item)
我在MyCollection中覆盖了这样的同步:
sync: function() {
console.log('sync is called')
}
然而,似乎在添加后不会调用同步 - 这会成功执行并触发'添加'事件。我错过了什么吗?或者这是正确的行为吗?
答案 0 :(得分:4)
你想要的是myCollection.create(item)
。
答案 1 :(得分:0)
Collection.create返回模型,但在某些情况下,您可能需要访问xhr对象。在这种情况下,你可以这样做:
// add the model to the collection first
// so that model.url() will reference the collection's URL
myCollection.add(myModel)
// now save. this will trigger a POST to the collection URL
// save() returns the xhr so we can attach .done/.fail handlers
myModel.save()
.done(function(res) {
console.log('it worked')
})
.fail(function(err) {
console.log('it failed')
// might be a good idea to remove the model from the collection
// since it's not on the server
myCollection.remove(myModel)
})