Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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
Sencha touch Sencha Touch会话存储、保存和检索_Sencha Touch_Session Storage - Fatal编程技术网

Sencha touch Sencha Touch会话存储、保存和检索

Sencha touch Sencha Touch会话存储、保存和检索,sencha-touch,session-storage,Sencha Touch,Session Storage,您好,我正在尝试在sencha touch with model的应用程序上使用javascript会话存储,在互联网上进行长时间搜索后,我一点也不幸运,如果可以,请帮助,谢谢。 这是到目前为止我的代码。 我的控制器onStorage功能正常,getStorage UseSession.load无法加载,这是因为我卡住了 Ext.define('SideMenu.controller.Menu', { extend: 'Ext.app.Controller', currView:'home',

您好,我正在尝试在sencha touch with model的应用程序上使用javascript会话存储,在互联网上进行长时间搜索后,我一点也不幸运,如果可以,请帮助,谢谢。 这是到目前为止我的代码。
我的控制器onStorage功能正常,getStorage UseSession.load无法加载,这是因为我卡住了

Ext.define('SideMenu.controller.Menu', {
extend: 'Ext.app.Controller',
currView:'home',
requires: ['SideMenu.model.Mymdl'],
config: {
        refs: {
               btn_localstore:'#btn_localstore',
               btn_getlocalstore:'#btn_getlocalstore'                     
              } 
        control: {
                 btn_localstore:{
                 tap: 'onStorage' 
                 },
                 btn_getlocalstore:{
                 tap: 'getStorage' 
                 },                    
              },
        onStorage:function(){
                        //create model and store data
                         var myMod = Ext.create('SideMenu.model.Mymdl',{
                         brandName:'Nike Jordan',
                         brandCat:'Sneakers'        
                         });
                        myMod.save({
                          success:function(res){
                          console.log('saved to model : '+res.get('brandName'));
                              }
                            });              
               }, 
           getStorage:function(){
                var usession = Ext.ModelMgr.getModel('SideMenu.model.Mymdl');
                console.log('model is :'+usession);

                usession.load(0, {
                          scope: this,
                          success: function(model, opp) { 
                          console.log('passed '+model.get('brandCat'));
                              },
                failure: function(record, operation) {
                console.log('failed : '+operation);
               // Ext.Viewport.setMasked(false);
                //====================================================
               // alert('could not get session details');
                //====================================================  
                   }
                  });

     }
}

我的型号


My app.js我排除了本例中dts不需要的其他内容

models: ['Mymdl'],
views: ['Main', 'Home'],
controllers: ['Menu'],

launch:function()
{
   Ext.create('SideMenu.model.Mymdl'); 
}

非常感谢您的回答,您需要使用要从本地存储检索的模型数据的id调用模型加载方法

您可以从modelsave回调函数获取id

var modelId;
myMod.save({success:function(res){
              modelId = res.getId();
              console.log('saved to model : '+res.get('brandName'));
           }
          });  
然后在加载模型时使用此id:

SideMenu.model.Mymdl.load(modelId, function(record) {
    console.log('Brand: ' + record.get('brandName'));
}

保存模型时,可以直接设置id值。这将使您不必在每次保存时检索和保存自动生成的id。

杰夫·马丁,老兄,您刚刚救了我的命,多谢了,我为此挣扎了两天……dse伙计们,a Sencha甚至帮不了我,不幸的是,我不能投票给我名声不好的cs……bt thnks bru,u r a genius man还有一件事,如何在保存模型时设置id值。模型id属性是自动创建的。您可以使用model.set('id,[value])来设置值。感谢您的帮助,非常感谢。我将尝试一下
SideMenu.model.Mymdl.load(modelId, function(record) {
    console.log('Brand: ' + record.get('brandName'));
}