这是我的商店
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-model,它可以包含其他Element-model。它是一棵树,节点和叶子是Element,root是ProjectT。
由于某些原因,我在项目中更新了每个节点的值,我可以看到InApp它确实正确地更改了所有内容,并且在ProjectStore中已经完成了更改。 InAPP应有尽有。
问题是当我的商店从缓存中加载时。项目已加载但修改后的值不在那里,就像没有发生任何事情一样。
我的项目在任何时候都是完整且正确的inapp,但是在store.load()之后我可以看到更改是syble not sync()和autoSync()设置为true ..
我试图将Project.setDirty()强制更新......它没有做任何事情:S