Sencha touch Sencha Touch会话存储、保存和检索
您好,我正在尝试在sencha touch with model的应用程序上使用javascript会话存储,在互联网上进行长时间搜索后,我一点也不幸运,如果可以,请帮助,谢谢。 这是到目前为止我的代码。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',
我的控制器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'));
}