我是Sencha Touch的新手,我在删除记录方面遇到了问题。
这是我的模特:
Ext.define('MyApp.model.Customer', {
extend: 'Ext.data.Model',
...
config: {
idProperty: 'key',
fields: [
{
name: 'key',
type: 'auto'
},
{
name: 'name',
type: 'string'
}
...
]
}
....
}
这是与删除客户按钮相关联的事件:
onDeleteCustomerBtnTap: function(button, e, eOpts) {
var data = this.getCustomerDetail().getData();
var store = Ext.getStore("CustomerStore");
var record = store.getById(data.key);
store.remove(record);
store.sync();
}
修改
这是商店
proxy: {
type: 'rest',
url: 'http://example.com/customers',
useDefaultXhrHeader: false,
appendId: false,
reader: {
type: 'json',
idProperty: 'key',
rootProperty: 'data'
},
writer: {
type: 'json'
}
}
问题是它何时尝试同步商店。请求网址为http://example.com/customers?_dc=1394840324234,而不是http://example.com/customers/10?_dc=1394840324234。
我做错了什么?
答案 0 :(得分:2)
我终于使用了Ext.data.Model的erase方法。这是我的最终版本:
var data = this.getCustomerDetail().getData();
var store = Ext.getStore("CustomerStore");
var record = store.getById(data.key);
record.erase({
success: function() {
// ...
}
}
});
答案 1 :(得分:0)
您是将自己的代理定义为“休息”吗?而不是' ajax'?
proxy: {
type: 'rest',
url : '/users'
}