首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >清除Backbone Collection中的所有元素,并将它们从关联的Lawnchair中删除

清除Backbone Collection中的所有元素,并将它们从关联的Lawnchair中删除
EN

Stack Overflow用户
提问于 2012-04-05 01:23:56
回答 1查看 5.4K关注 0票数 4

我使用的是Backbone.js、Lawnchairbackbone.lawnchair.js

我想知道清空集合(从应用程序和localStorage)的正确方法是什么?

目前,我采用了以下方法:

代码语言:javascript
复制
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中获取。这看起来有点笨拙,我想知道我是不是想对了--或者有没有更好的方法。

干杯!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-05 13:22:17

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10016230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档