我正在尝试使用Sencha Touch 2将本地json文件加载到数据视图中。
使用Firebug进行检查时 - Sencha正在加载该文件,但由于某种原因未显示该文件。
任何想法为什么?
这是我的代码(HTML是基本的Sencha html):
Ext.require([
'Ext.Panel',
'Ext.tab.Panel',
'Ext.Ajax'
]);
new Ext.application({
name: 'MyApp',
useLoadMask: true,
launch: function () {
Ext.regModel('City', {
fields: [
{name:'ID', type:'string'},
{name:'Name', type:'string'}
]
});
var CitiesStore = new Ext.create('Ext.data.Store',{
autoLoad: true,
storeId: 'CitiesStore',
model: 'City',
proxy: {
type: 'ajax', // ajax is for same domain, jsonp for cross-domain
url: 'cities.json',
reader: {
type: 'json',
root: 'cities'
}
}
});
Ext.create('Ext.TabPanel',{
fullscreen: true,
tabBarPosition: 'bottom',
scrollable: true,
items: [
{
title: 'Home',
iconCls: 'home',
html: 'Welcome to my app',
style: 'text-align: center;'
},
{
title: 'Search',
iconCls: 'search',
items: [
Ext.create('Ext.DataView', {
store: 'CitiesStore',
itemConfig: {
tpl: '<h2>{Name}</h2>'
}
})
]
},
{
xtype: 'toolbar',
title: 'My App',
dock: 'top'
}
]
}).setActiveItem(1); // this is set for debugging only
}
});
任何json都死得很简单
{"cities":[{"ID":1,"Name":"new york"},{"ID":2,"Name":"las vegas"},{"ID":3,"Name":"los angeles"}]}
非常感谢!
答案 0 :(得分:2)
我遇到了列表或数据视图未显示的问题,除非父容器的宽度设置为值或布局设置为“适合”。如果它有任何区别,请尝试:
title: 'Search',
iconCls: 'search',
layout: 'fit',
答案 1 :(得分:0)
快速浏览了一下......很少 - 但首先你对商店的引用是错误的。
在DataView中,您不需要引号:
store: CitiesStore,
此外,当您使用Ext.Create时,您不需要商店中的new
关键字。
至少可以让你更进一步。
答案 2 :(得分:0)