好的,假设我有一个商店服务器端,所以我们正在远程做所有事情。店铺示例:
Ext.create('Ext.data.Store', {
model: 'MyApp.model.ContactModel',
remoteFilter: true,
remoteSort: true,
autoLoad: true,
autoSync: true,
storeId: 'ContactStore-1'
});
Ext.create('Ext.data.Store', {
model: 'MyApp.model.ContactModel',
remoteFilter: true,
remoteSort: true,
autoLoad: true,
autoSync: true,
storeId: 'ContactStore-2'
});
当我执行以下操作时遇到问题:
Ext.getStore('ContactStore-1').insert(0,{'name':'say'});
Ext.getStore('ContactStore-2').insert(0,{'name':'hi'});
发生的情况是,当我查看数据库时,我最终有 2 个条目。我会“嗨”一次,“说”两次。从它的外观来看,发生的事情是第一个插入语句被发送,然后第二个插入语句被发送,但是来自两个插入的数据(我认为这是因为它们共享相同的模型,因此具有相同的代理)
关于如何解决这个问题以便它不会自动合并插入请求的想法?
供您观赏的模型:
Ext.define('MyApp.model.ContactModel', {
extend: 'Ext.data.Model',
idProperty: 'idContact',
fields: [
{
name: 'idContact',
type: 'int'
},
{
name: 'name',
type: 'string'
}
],
proxy: {
type: 'direct',
api: {
create: contact.createRecord,
read: contact.getResults,
update: contact.updateRecords,
destroy: contact.destroyRecord
},
reader: {
type: 'json',
root: 'data'
}
}
});