sencha touch本地存储插入ID

时间:2013-07-12 06:31:53

标签: html5 sencha-touch sencha-touch-2 local-storage

如果你能帮助我,我会遇到一个小问题。我无法将自己的ID插入本地存储。

ext.define('EMC.model.ReferenceData', {
    extend: 'Ext.data.Model',

    config: {
        identifier: {
            type: 'simple'
        },

        idProperty: 'Id',

        fields: [
                 {name: 'Id', type: 'string'},
                 {name: 'Description', type: 'string'},
                 {name: 'syncChangeVersion', type: 'integer', mapping: 'SysChangeVersion'},
                 {name: 'TypeEnum', type: 'string'}         
        ]     


    }
});

这是我项目的模型,商店如下所示。

Ext.define("EMC.store.SyncReferenceData", {
    extend : "Ext.data.Store",
    requires : [ 'Ext.data.proxy.LocalStorage' ],

    config : {
        model : 'EMC.model.ReferenceData',
        storeId : 'referenceStore',
        sorters : 'Id',


        proxy : {
            type : 'localstorage',
            id : 'reference_data'
        },

        autoSync : true,
        autoLoad : true


    }
});

这是我创建的用于使用控制器将数据插入本地存储的短语。

var frmModel2 = Ext.create('EMC.model.ReferenceData',{
    Id : '13',
    Description : 'lole',
    syncChangeVersion : 0,
    TypeEnum  : '199'
    });
    ReferenceStore.add(frmModel2); 
    ReferenceStore.sync();                                                                                  

但是当我看到本地存储时它是空的。但如果我评论Id:'13'那么它将添加到id为“ext-record-293”的本地存储。 为什么我不能把我自己的Id插入商店?

1 个答案:

答案 0 :(得分:0)

试试这样..

   Ext.define('EMC.model.ReferenceData', {
        extend: 'Ext.data.Model',

        config: {
            dProperty : 'uniqueid', // dummy name(not a field)
            clientIdProperty : 'Id',

            fields: [
                {name: 'Id', type: 'string'},
                {name: 'Description', type: 'string'},
                {name: 'syncChangeVersion', type: 'integer', mapping: 'SysChangeVersion'},
                {name: 'TypeEnum', type: 'string'}         
            ]            

        }
    });