我使用的是Backbone.js、Lawnchair和backbone.lawnchair.js。
我想知道清空集合(从应用程序和localStorage)的正确方法是什么?
目前,我采用了以下方法:
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中获取。这看起来有点笨拙,我想知道我是不是想对了--或者有没有更好的方法。
干杯!
发布于 2012-04-05 13:22:17
Backbone遵循某种RESTish原则,遗憾的是REST没有描述批量删除过程。一次只能删除一个资源。通常,API不支持像DELETE /favorites这样的整个集合URI上的HTTP DELETE,只支持DELETE /favorites/42 -一次删除一个。因此,没有单一的主干方法可以做到这一点,因为通常情况下,集合主要被设计为执行fetch/GET,然后委托给各个模型进行保存和删除。所以,是的,批量删除方法只能靠您自己了。您可以做一些更像RPC的事情,并将ID列表传递给一个删除过程,但是上面的内容对我来说似乎完全足够了,是的,直接将它们全部删除,然后重新获取集合对我来说也是非常合理的。所以我认为你的解决方案很好,但我也很好奇其他人会有什么建议。
https://stackoverflow.com/questions/10016230
复制相似问题