无法插入localstorage中

时间:2013-02-18 20:59:21

标签: extjs insert sencha-touch touch local-storage

我有模特:

Ext.define('SizoMag.model.SizoBuscetModel', {  extend: 'Ext.data.Model',
config: {
fields: [{name: 'text', type: 'string'}, {name: 'price', type: 'string'}],
proxy: {
  type: 'localstorage',
  id  : 'buscetmodel'
 }
}
});

并存储

Ext.define('SizoMag.store.SizoBuscetStore', {extend: 'Ext.data.Store',
 config: {
 storeId: 'SizoBuscetStore'
}
});

但是当我尝试向商店添加条目时 - 得到错误 [WARN] [Ext.data.Operation#setModel]除非您使用元数据定义模型,否则操作需要定义模型.Console.js:35

[WARN] [Ext.data.reader.Reader #process]为了读取记录数据,Reader需要在其上定义模型。 Console.js:35

未捕获的TypeError:对象不是函数

我添加

var store=Ext.getStore('SizoBuscetStore');
store.load();store.add({text:'txt',price:'150'});
store.sync();

请帮帮我/ TNX

2 个答案:

答案 0 :(得分:0)

请尝试这样做,您需要为商店定义模型类型,以便配置其读者:

Ext.define('SizoMag.store.SizoBuscetStore', {
    extend: 'Ext.data.Store',
    storeId: 'SizoBuscetStore',
    model: 'SizoBuscetModel'
});

答案 1 :(得分:0)

嘿,简单试试这个

商店中的

   Ext.define('e4b.store.Adult_DOBStore', {
extend: "Ext.data.Store",

config: {
    model: "e4b.model.Adult_DOBModel",
    autoLoad: true, 
    clearOnPageLoad: false,
}

         });

,你的模型将是

           Ext.define('e4b.model.Adult_DOBModel', {
extend: 'Ext.data.Model',
config: {

    fields: ['Adult1Date'],


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

       }

});

现在你的控制器......

首先获得价值

      var A_select1=Ext.getCmp('select1').getValue();

     localStorage.setItem("Adult1_select1",A_select1); //Assign the value to localstore

   var AdultSalutation={
                    // object                               
 'Adult1_select1':A_select1,

                 };

var AdultSalutationstore =Ext.getStore('Adult_AdultSalutationstore');// cal store 

        AdultSalutationstore.add(AdultSalutation);  // add the oject here
      AdultSalutationstore.sync();
   AdultSalutationstore.load();