我正在使用 sencha touch 2(使用 Architet)制作一个 web 应用程序,但本地存储存在问题:数据不在视图中。
如果我检查“行”如何存储它将返回 4(正确!),但在视图中这些记录不会显示。
你能帮助我吗?
(设置不与产品交互,因此,忽略它!)
APP.JS:
Ext.application({
models: [
'Products',
'Settings'
],
stores: [
'Settings',
'Products'
],
views: [
'Settings',
'HomePage',
'ProductsList'
],
controllers: [
'Main'
],
name: 'YouPazzle',
launch: function() {
Ext.create('YouPazzle.view.Settings', {fullscreen: true});
}});
控制器:
Ext.define('YouPazzle.controller.Main', {
extend: 'Ext.app.Controller',
config: {
},
launch: function() {
var Settings = Ext.getStore('Settings');
if(Settings.data.all.length === 0){
console.log('Settagglio non eseguito');
}else{
console.log('Settagglio eseguito');
this.goToHomePage();
}
},
goToHomePage: function() {
//Ext.Viewport.add(firststep);
// Reverse the slide direction before using setActiveItem()
var toPage = Ext.create('YouPazzle.view.HomePage');
Ext.Viewport.setActiveItem(toPage);
}
});
模型:
Ext.define('YouPazzle.model.Products', {
extend: 'Ext.data.Model',
config: {
fields: [
{
name: 'codice'
},
{
name: 'obj'
}
]
}});
贮存:
Ext.define('YouPazzle.store.Products', {
extend: 'Ext.data.Store',
requires: [
'YouPazzle.model.Products'
],
config: {
autoLoad: true,
autoSync: true,
model: 'YouPazzle.model.Products',
storeId: 'Products',
proxy: {
type: 'localstorage'
}
}});
看法:
Ext.define('YouPazzle.view.ProductsList', {
extend: 'Ext.dataview.DataView',
config: {
itemId: 'productsList',
store: 'Products',
itemTpl: [
'<div>Data View Item {codice}</div>'
],
items: [
{
xtype: 'toolbar',
docked: 'top',
title: 'Prodotti',
items: [
]
}
]
}
initialize: function() {
}});