这是我的商店
Ext.define('CarboZero.store.ProjectStore', {
extend: 'Ext.data.Store',
requires: [
'CarboZero.model.ProjectT'
],
config: {
autoSync: true,
model: 'CarboZero.model.ProjectT',
storeId: 'projectstore',
proxy: {
type: 'localstorage'
}
}
});
这是元素模型
Ext.define('CarboZero.model.Element', {
extend: 'Ext.data.Model',
config: {
fields: [
{
name: 'strName'
},
{
name: 'numValue'
},
{
name: 'numCOFactor'
},
{
name: 'strUIType'
},
{
name: 'boolLeaf'
},
{
name: 'arrElement'
}
]
}
});
它包含 ProjectT 模型,这些模型包含可以包含其他元素模型的元素模型。这是一棵树,其中节点和叶子是 Element,根是 ProjectT。
出于某种原因,我更新了项目中每个节点的值,我可以看到 InApp 确实正确更改了所有内容,并且更改已在 ProjectStore 中得到处理。InAPP 一切都应有尽有。
问题是当我的商店从缓存中加载时。项目已加载,但修改的值不在那里,就像什么都没发生一样。
我的项目在任何时候都是完整且正确的应用程序,但在 store.load() 之后,我可以看到更改不是 sync() 并且 autoSync() 设置为 true..
我试图放置一个 Project.setDirty() 来强制更新......它没有做任何事情:S