我有一个带有本地存储代理的商店,但我无法保存数据。代码很简单:
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'}
]
});
问题的演示在这里。