Sencha Touch - 无法加载本地json文件

时间:2012-01-05 17:25:25

标签: html5 sencha-touch extjs sencha-touch-2

我正在尝试使用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"}]}

非常感谢!

3 个答案:

答案 0 :(得分:2)

我遇到了列表或数据视图未显示的问题,除非父容器的宽度设置为值或布局设置为“适合”。如果它有任何区别,请尝试:

    title: 'Search',
    iconCls: 'search',
    layout: 'fit',

答案 1 :(得分:0)

快速浏览了一下......很少 - 但首先你对商店的引用是错误的。

在DataView中,您不需要引号:

store: CitiesStore,

此外,当您使用Ext.Create时,您不需要商店中的new关键字。

至少可以让你更进一步。

答案 2 :(得分:0)

你正在使用Firefox吗? Firefox和IE有时会在查看时出现问题 使用Chrome或Safari。