我正在使用Ember.js进行实验,并设置了一个小应用程序,用户可以在其中登录和注销。当用户注销时,我想清除Data Store中所有当前缓存的记录。 有没有办法做到这一点,或者我将不得不强制浏览器重新加载页面?Ember.js数据如何清除数据存储
回答
Ember-Data中尚不支持清除数据存储。 Github跟踪器上有一个open issue concerning this。
按模型中的记录删除记录。的this jsBindeleteOrgs
:
deleteOrgs: function(){
var len;
while(len = this.get('model.length')) {
// must delete the last object first because
// this.get('model.length') is a live array
this.get('model').objectAt(len-1).deleteRecord();
}
this.get('store').commit();
}
(截至2013年8月的,目前a problem with lingering deleted data)
这是删除记录,这是比从存储中删除它们更*的方式。这是潜在的危险,导致后端永久数据丢失([删除记录](http://emberjs.com/guides/models/creating-and-deleting-records/#toc_deleting-records)) – dangonfast 2014-06-25 14:26:00
一个清洁&通用的方法。只需延长或重新开店&添加一个像这样的清晰方法。
DS.Store.extend({
clear: function() {
for(var key in this.typeMaps)
{
this.unloadAll(this.typeMaps[key].type);
}
}
});
有:
App.reset();
但是does more than clear out the data store和我们偶尔看到的错误,其中store.pushPayload
试图将数据推到一个对象标志着调用App.reset();
破坏。
了,我们一直在使用:
store.init();
刚刚创建了一个新的空店和伟大工程,但不幸的是是一个私有方法。
现在可以用store.destroy()
完成。它卸载所有记录,但也可立即用于重新加载新记录。我已经确认这是从1.0.0-beta.15
。它似乎没有在文档中,但它一直在为我工作。
另一种方法是迭代商店的typeMaps
并运行store.unloadAll(typeMap.typeName)
,但我不确定这是完全必要的。
我知道这个问题是从2013年开始的。但是因为Ember Data 1.0.0-beta。17(2015年5月10日)有清除数据存储的一种简单的方法:
store.unloadAll()
这不应该被接受吗? – emberigniter 2015-11-02 18:42:14
- 1. appengine sdk清除数据存储
- 2. 数据清理和数据库存储
- 3. 如何清除URLSession/URLConfiguration存储的缓存数据?
- 4. 如何清理开发数据存储?
- 5. Socket.io redis如何存储和清除数据
- 6. 如何在浏览器中存储数据,以便在用户清除缓存时不会删除数据?
- 7. 如何从Ember数据存储中删除所有数据?
- 8. 如何将数据存储到数据存储 - AppEngine
- 9. 清除列数据
- 10. 清除数据表
- 11. 清除ZedGraph数据
- 12. Recyclerview数据清除
- 13. 如何保存开发数据存储从重新启动时自行清除
- 14. 在核心数据中存储图像,我如何清除缓存?
- 15. HDR数据如何存储?
- 16. 如何删除存储在本地存储中的数据?
- 17. 如果我的配额已过期,如何清除数据存储区?
- 18. 从IIS清除缓存的数据?
- 19. 如何将清理后的原始数据存储在数据库中?
- 20. 开发服务器崩溃清除数据存储?
- 21. 清除ios应用程序存储数据?
- 22. 从远程服务器清除本地存储数据
- 23. 清除数据存储和重新填充它
- 24. 如何清除表单数据jQuery?
- 25. 如何清除JTable中的数据?
- 26. 如何把image_tag和link_to数据清除?
- 27. 如何清除System.Windows.Forms.WebBrowser会话数据?
- 28. 如何清除GridView中的数据?
- 29. 如何清除ASP.NET数据网格?
- 30. 如何从select2中清除数据项
这个问题是封闭的,但我仍然看不到清除商店没有的方法重置应用程序:我需要清除存储以进行调试,可能会从后端重新请求数据,而不会影响应用程序的状态(例如,我想保留在相同的路径中)。这可能吗? – dangonfast 2014-06-25 14:29:53