Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 存储未正确同步模型_Extjs_Sencha Touch 2_Sencha Architect - Fatal编程技术网

Extjs 存储未正确同步模型

Extjs 存储未正确同步模型,extjs,sencha-touch-2,sencha-architect,Extjs,Sencha Touch 2,Sencha Architect,这是我的商店 Ext.define('CarboZero.store.ProjectStore', { extend: 'Ext.data.Store', requires: [ 'CarboZero.model.ProjectT' ], config: { autoSync: true, model: 'CarboZero.model.ProjectT', storeId: 'projectstore', proxy: { type:

这是我的商店

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模型,这些模型包含可以包含其他元素模型的元素模型。这是一棵树,其中节点和叶子是元素,根是项目

出于某种原因,我更新了项目中每个节点的值,我可以在应用程序中看到它确实正确地更改了所有内容,更改的内容在ProjectStore中得到了处理。在应用程序中,每件事都是应该有的

问题是当我的存储从缓存加载时。项目已加载,但修改的值不在其中,就像什么都没发生一样

我的项目在应用程序中随时都是完整和正确的,但是在store.load()之后,我可以看到更改不是sync(),autoSync()设置为true


我试图放置Project.setDirty()以强制更新。。。它没有做任何事情:S

我认为您需要具有唯一id字段,以便localstorage autosync正常工作。唯一id用于什么?模型?商店?或LocalProxy?标识存储在存储中的每个记录。所以“在模型中”如果我不给一个,这些不是自动得到一个吗。。。我们可以对任何东西执行getId(),它会在应用程序中返回一个唯一的id。我不确定。您在资源管理器中看到它们了吗?Chrome应该显示您存储的本地数据。