pra*_*n64 8 clear local-storage backbone.js
javascript一个看起来很简单,只有localStorage.clear().
是否有类似于骨干本地存储的内容,如果没有,有人可以指出我正确的方向如何做到这一点.
我在考虑做这样的事情:
localStorage.each(localStorage.delete(本))
除了这不会指向那个元素吗?
很少有方法可以从Collection中执行此操作,但无论您选择哪种方式,都必须在每个模型上调用destroy,它将在客户端和服务器端(localStorage充当)运行同步并销毁它.
collection.each(function(model) {
model.destroy();
}
)
Run Code Online (Sandbox Code Playgroud)
更新
根据评论,看起来不再适用.因为这仍然标记为答案,包括下面应该起作用的答案skcin7.
while ((model=collection.shift()))
{ model.destroy();
}
Run Code Online (Sandbox Code Playgroud)
我知道这种感觉就像严重的挖掘,但我一直在寻找解决方案一段时间,上面的代码片段似乎都不适合我.无论我怎么尝试,我总是把收集的大小减少一半.
经过大量的摆弄后,我想到了这个:
var length = collection.length;
for (var i = 0; i < length; i++) {
collection.at(0).destroy();
}
Run Code Online (Sandbox Code Playgroud)
Backbone正在"动态"删除项目,因此如果您有40个项目,则无法删除21.项目,因为只剩下20个项目.奇怪的是,这似乎也影响了collection.each()函数,这对我来说真的像个bug.