Sencha-touch 1.1:获取无法读取未定义的属性“长度”

时间:2011-11-15 14:37:44

标签: database json sencha-touch undefined

您好我正在尝试读取我的json数据,但它会继续显示加载屏幕。我正在尝试将我的数据加载到包含图片和一些信息的列表中。它适用于内联数据。但是当我尝试使用JSON时它不起作用。

有人能指出我做错了什么或忘了吗?我以前从未使用过JSON。

我的.json文件:

    {
        "data": [
            {
                "name": "Shirt",
                "sizes": "S/M/L",
                "price": "19,95",
                "thumb": "shirt.jpeg"
            },
            {
                "name": "Vest",
                "sizes": "S/M/L",
                "price": "24,95",
                "thumb": "vest.jpeg"
            },
            {
                "name": "Knitted vest",
                "sizes": "S/M/L",
                "price": "29,95",
                "thumb": "knittedvest.jpeg"
            },
            {
                "name": "T-Shirt",
                "sizes": "S/M/L",
                "price": "9,95",
                "thumb": "tshirt.jpeg"
            },
            {
                "name": "Jacket",
                "sizes": "S/M/L",
                "price": "69,95",
                "thumb": "jacket.jpeg"
            },
            {
                "name": "Trui",
                "sizes": "S/M/L",
                "price": "29,95",
                "thumb": "trui.jpeg"
            },
            {
                "name": "Overhemd",
                "sizes": "S/M/L",
                "price": "29,95",
                "thumb": "overhemd.jpeg"
            },
            {
                "name": "Grandad",
                "sizes": "S/M/L",
                "price": "19,95",
                "thumb": "grandad.jpeg"
            }
        ]
    }

我的模特.js:

    Ext.regModel('Tops', {                          
        fields: [
            {name: 'name', type: 'string'},
            {name: 'sizes', type: 'string'},
            {name: 'price', type: 'string'},
            {name: 'thumb', type: 'string'},
            ]
    });

我的store.js:

    App.views.topwearstores = new Ext.data.Store({              
        model: 'Tops',
        autoLoad: true,
        proxy: {
            type: 'ajax',
            url: '/data/topwear_data.json',
            reader: {
                type: 'json',
                root: 'data'
            },  
        },
    });

我的观点.js:

    App.views.WishlistIndex = Ext.extend(Ext.Panel, {

            layout: 'fit',   
            items: {
                xtype: 'list',
                itemTpl:
                    '<tpl for".">'+
                    '<div id="Catalog_Itemimage"><img class="Catalog_Image" src="res/images/kleding/dude/{thumb}" height="75px" width="75px"/></div>'+ 
                    '<div id="Catalog_info">'+
                    '<div id="Catalog_name">{name}</div>'+
                    '<div id="Catalog_price">&#8364;{price}</div>'+
                    '<div id="Catalog_sizes">Sizes: {sizes}</div>'+
                    '</div>'+
                    '</tpl>',               
                store: App.views.topwearstores,

                singleSelect: true,
                itemSelector: 'div.Catalog_Info',
            },

    });
    Ext.reg('WishlistIndex', App.views.WishlistIndex);

1 个答案:

答案 0 :(得分:1)

我也是新手,我有几次未定义错误的长度。

您的代码对我来说似乎很好,但是在我的项目中导致这种情况的一个原因是对index.html中的各种文件的引用都是错误的顺序