很长一段时间以来,我一直在尝试获取要显示的列表。我尝试了各种人的各种技巧,但没有成功。现在我遇到了一个新问题。我已经从一个示例中获取了确切的代码,但我似乎也无法让它工作。首先,这里是代码。
Station.js
Ext.define('Syl.model.Station', {
extend: 'Ext.data.Model',
config: {
fields: [
{ name: 'id', type: 'string' },
{ name: 'stop', type: 'string' }
]
}
});
Stations.js
Ext.define('Syl.store.Stations', {
extend : 'Ext.data.Store',
requires: ['Syl.model.Station'],
id: 'stations',
xtype: 'stations',
config : {
model : 'Syl.model.Station',
autoLoad : true,
data: [
{ "id": "129", "stop": "NY Station" },
{ "id": "13", "stop": "Newark Station" }
]
}
});
我的服务.js
Ext.define('Syl.view.MyService', {
extend: 'Ext.Panel',
xtype: 'stationsformPage',
requires: [
'Syl.store.Stations',
'Ext.form.FieldSet',
'Ext.field.Password',
'Ext.SegmentedButton',
'Ext.List'
],
config: {
fullscreen: true,
layout: 'vbox',
items: [
{
docked: 'top',
xtype: 'toolbar',
title: 'My Service'
},
{
[OLDER CODE BEGIN]
xtype: 'list',
title: 'Stations',
//store: 'Stations',
store: stationStore, //UPDATED
styleHtmlContent: true,
itemTpl: '<div><strong>{stop}</strong> {id}</div>'
[OLDER CODE END]
[UPDATE X2 CODE BEGIN]
xtype: 'container',
layout: 'fit',
flex: 10,
items: [{
xtype: 'list',
title: 'Stations',
width: '100%',
height: '100%',
store: stationStore,
styleHtmlContent: true,
itemTpl: '<div><strong>{stop}</strong> {id}</div>'
}]
[UPDATE X2 CODE END]
},
]
}
});
app.js(编辑到基础)
var stationStore; //UPDATED
Ext.application({
name: 'Syl',
views: ['MyService'],
store: ['Stations'],
model: ['Station'],
launch: function() {
stationStore = Ext.create('Syl.store.Stations');//UPDATED
var mainPanel = Ext.Viewport.add(Ext.create('Syl.view.MyService'));
},
});
好的,现在当我在浏览器中运行它时,我得到这个错误:“[WARN][Ext.dataview.List#applyStore] 找不到指定的商店”。应用程序运行但没有列表。我无法理解这段代码如何为给出示例的人而不是我工作。Sencha Touch版本会有所不同吗?我正在使用 2.0.1.1。
除此之外,我一直遇到列表不显示的问题。我最初在没有商店的情况下尝试了一份精简清单。我试图在列表的配置中设置数据属性。我没有收到此错误,但也没有显示列表。这就是为什么我想我会尝试别人的代码。我想如果我至少可以建立并运行一个工作列表,我可以操纵它来做我想做的事。
任何帮助将不胜感激。谢谢。
[更新]好的,所以我做了更多的搜索,有人告诉我我需要有一个我的商店实例才能加载到列表中,而不是商店定义。因此,如您所见,我更新了代码,错误消失了。问题是我仍然没有得到清单。我完全没有错误,但我看不到列表。我没有正确加载数据吗?还是我没有正确地将列表放入视图中?
[更新的 X2] 好的,所以我知道列表应该在一个容器中,并且我应该给它一个宽度和一个高度。我不完全确定这是否正确,但我现在确实有一个可以上下拖动的列表。问题是里面还是什么都没有。有人知道为什么吗?