backbone.js - 清除 Backbone Collection 中的所有元素并将它们从关联的 Lawnchair 中移除

标签 backbone.js javascript lawnchair

我正在使用 Backbone.js,Lawnchair , 和 backbone.lawnchair.js .

我想知道(从应用程序和本地存储中)“清空”集合的正确方法是什么?

目前,我正在沿用这些思路:

Favorites.Collection = Backbone.Collection.extend({
  model: Favorites.Model,
  lawnchair: new Lawnchair({ name: "favorites" }, function(e){}),

  empty: function(){
    this.lawnchair.nuke();
    this.fetch();
  }
});

这实质上是销毁localStorage中的元素(lawnchair提供了nuke方法)并从localStorage中获取。这似乎有点笨拙,我想知道我是否正在考虑这个问题 - 或者是否有更好的方法。

干杯!

最佳答案

Backbone 遵循某种 RESTish 原则,遗憾的是 REST 没有描述批量删除过程。一次只能删除一个资源。通常,API 不支持对整个集合 URI 的 HTTP DELETE,例如 DELETE/favorites,仅支持 DELETE/favorites/42 - 一次一个。因此,没有单一的 Backbone 方法可以做到这一点,因为通常集合主要设计用于执行获取/获取,然后委托(delegate)给各个模型进行保存和删除。所以,是的,您只能靠自己进行批量删除。您可以做一些更像 RPC 的事情,并将 ID 列表传递给删除过程,但是您上面的内容对我来说似乎已经足够了,是的,直接删除它们然后重新获取集合对我来说似乎也很合理。所以我认为您的解决方案很好,但我也很想知道其他人的建议。

关于backbone.js - 清除 Backbone Collection 中的所有元素并将它们从关联的 Lawnchair 中移除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10016230/

相关文章:

javascript - 异步 SQL 循环插入

通过 Lawnchair 的 Android PhoneGap localStorage

backbone.js - 将 jquery UI 与 require.js 和 CDN 结合使用

javascript - 主干模型默认值 : null ? 空字符串?空数组?

javascript - 将 lawnchair 与 Typescript 结合使用

javascript - 如何使用 Jest 模拟和测试包装模块函数的方法?

javascript - 选项 beginAtZero 在 angular-chart.js 中不起作用

javascript - 传输 backbone.js 模型?

javascript - 实现 Backbone 名单应用的最佳方式

JavaScript Regex Exclude + Include 模式匹配