我正在尝试使用Sencha Touch 2。我创建了一个简单的json商店,其中包含的项目比我的屏幕可以显示的更多以测试滚动,但每次我尝试滚动时都会出现以下错误:
Uncaught TypeError: Cannot call method 'getCount' of null
我试图找出错误但找不到解决方案。也许有人可以帮忙吗? 以下是我的示例文件:
host.json:
{
"hosts": [
{
"host_name": "host 1",
"status": "pending"
},
{
"host_name": "host 2",
"status": "normal"
},
{
"host_name": "host 3",
"status": "critical"
}
...
]
}
我的商店:
Ext.define('myapp.store.MyStore', {
extend: 'Ext.data.Store',
config: {
storeId: 'mystore',
model: 'myapp.model.MyModel',
proxy: {
type: 'ajax',
url: 'host.json',
reader: {
type: 'json',
rootProperty: 'hosts'
}
},
autoLoad: true
}
});
列表视图:
Ext.define('myapp.view.MyListView', {
extend: 'Ext.dataview.List',
alias: 'widget.mylistview',
config: {
items: {
xtype: 'list',
store: 'mystore',
itemTpl: '<div class="service_status_{status}">{host_name}</div>'
}
}
});
调用List-View的视图:
Ext.define('myapp.view.Main', {
extend: 'Ext.Container',
config: {
layout: {
type: 'vbox',
aligh: 'stretch'
},
items: [
{
xtype: 'mytoolbar',
docked: 'top',
height: 50
},
{
xtype: 'mylistview',
flex: 1
}
]
}
});
答案 0 :(得分:0)
使用'fit'布局可能会解决它。
您肯定应该改变这一点:
这已经定义了一个列表
Ext.define('myapp.view.MyListView', {
extend: 'Ext.dataview.List',
xtype: 'mylistview',
这是列表的配置:
config: {
在这里,您可以在列表中添加一个实际使用的列表。 这不会顺利。这将是一个不能按预期工作的好理由。
items: {
xtype: 'list',
store: 'mystore',
itemTpl: '<div class="service_status_{status}">{host_name}</div>'
}