0

json ファイルをリストにロードしようとしています。誰かが私が間違っていることを見ることができますか? エラーは発生しません。

データ.js:

Ext.regModel('Contact', {
    fields: ['bandName', 'playDate']
});

ListDemo.ListStore = new Ext.data.Store({
    model: 'Contact',
    sorters: 'bandName',
    getGroupString : function(record) {
        return record.get('bandName')[0];
    },

    /*data: [
        { bandName: "Bandname",      playDate: "Thursday 20:00" }
    ]*/

    proxy: {
        type: 'scripttag',
        url: 'http://domain.com/artists.json',
        reader : {
            type : 'json',
        },
        autoLoad: true
    }
});

Index.js:

ListDemo = new Ext.Application({ name: "ListDemo",

launch: function() {

    ListDemo.detailPanel = new Ext.Panel({
        id: 'detailpanel',
        tpl: 'Hello, {bandName}!',
        dockedItems: [
            {
                xtype: 'toolbar',
                items: [{
                    text: 'back',
                    ui: 'back',
                    handler: function() {
                        ListDemo.Viewport.setActiveItem('disclosurelist', {type:'slide', direction:'right'});
                    }
                }]
            }
        ]
    });

    ListDemo.listPanel = new Ext.List({
        id: 'disclosurelist',
        store: ListDemo.ListStore,
        itemTpl: '<div class="contact">{bandName}<br /><span style="font-size:12px;">{playDate}</span></div>',
        grouped: true,
        onItemDisclosure: function(record, btn, index) {
            ListDemo.detailPanel.update(record.data);
            ListDemo.Viewport.setActiveItem('detailpanel');
        }
    });

    ListDemo.Viewport = new Ext.Panel ({
        fullscreen: true,
        layout: 'card',
        cardSwitchAnimation: 'slide',
        items: [ListDemo.listPanel, ListDemo.detailPanel]
    });

}
});

私のjsonファイル:

[
    { "id": 1, "bandName": "Moe", "playDate": "Thursday" },
    { "id": 2, "bandName": "Larry", "playDate": "Thursday" },
    { "id": 3, "bandName": "Curly", "playDate": "Thursday" }    
]

誰かが私が間違っていることを見ることができますか?

4

2 に答える 2

0

JSON ファイルは配列形式です。この配列を値として持つノードを追加し、Sencha Touch ファイルの (プロキシの) データノードをこのノードに設定します。JSON は次のようになります。

"data": [
    { "id": 1, "bandName": "Moe", "playDate": "Thursday" },
    { "id": 2, "bandName": "Larry", "playDate": "Thursday" },
    { "id": 3, "bandName": "Curly", "playDate": "Thursday" }    
]
于 2012-04-20T07:13:59.040 に答える
0

コードをデバッグするには、Chrome ブラウズ ツールと Chrome 開発者ツールを使用する必要があります。あなたのjsonファイルは正しいです。

于 2012-04-20T09:28:13.987 に答える