【发布时间】:2015-06-09 14:14:37
【问题描述】:
我有一个带有本地存储代理的商店,但我无法保存数据。 代码很简单:
onToolbarTicketsadd: function(me){
var tickets = this.getStore('Tickets');
tickets.add({id: 1, name: 'new'})
console.log(tickets.getById(1), tickets.count())
tickets.sync({callback: function(){console.log('synched')}})
},
票被添加到商店,正如第一个console.log 所证明的那样,但sync() 命令不起作用。 localStorage 检查器只显示一个空条目Tickets: '',并且callback 函数也不会被调用。
我错过了什么?本地存储代理需要什么才能工作?
注意:问题不在于浏览器:我使用的是最新的 Chrome 和 Firefox。
这是商店和模型的代码:
Ext.define('App.store.Tickets', {
extend: 'Ext.data.Store',
model: 'App.model.Ticket',
proxy: {
type: 'localstorage',
id: 'Tickets'
}
});
Ext.define('App.model.Ticket', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
{name: 'name', type: 'string'}
]
});
问题的演示是here。
【问题讨论】:
-
你的演示链接好像坏了,你能提供一个小提琴吗?这种行为似乎很奇怪,因为它是如此基本
-
不,它没有坏,只是加载需要很长时间。好吧,我找到了解决方案...
标签: extjs proxy local-storage extjs4.2 extjs-stores