什么是在骨干中保存集合的最佳方法?

0 backbone.js backbone.js-collections

我一次保存一个模型没有问题,我写了一个对象数组的递归保存.在每次成功保存时,我移出一个对象,如果数组长度不是0 - >重复...一旦数组长度达到零,那么我知道所有保存都成功并执行适当的操作.

如果有更好的方法,想知道吗?比上面描述的方法,休息服务api不采用集合,但如果我有一个保存集合的例子,我会要求修改服务.

Der*_*ley 6

虽然saveCollection中没有内置方法,但这肯定是个好主意.你的情况听起来好像会受益,因为循环每个模型并单独保存它们是一种非常非常昂贵的网络流量方式.

在它的核心,Backbone使用jQuery的AJAX发布到服务器...所以为什么不利用你的收藏?


$.ajax({
  type: "POST",
  url: "/my/api",
  dataType: "JSON",
  data: myCollection.toJSON()
});
Run Code Online (Sandbox Code Playgroud)

这将把一个对象数组作为JSON发送回/my/api端点的服务器.您可以轻松地将其包装到集合或其他对象中的方法中.

  • 使用Backbone 0.9.9,`myCollection.sync('update',myCollection)`将发送带有对象数组的PUT请求. (4认同)