2012-04-20 52 views
0

我正在嘗試將json文件加載到列表中。任何人都可以看到我做錯了什麼?我沒有得到任何錯誤。如何將json文件加載到Sencha Touch?

Data.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 =新Ext.Application({ 名稱: 「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" }  
] 

任何人都可以看到我做錯了什麼?

回答

0

您的JSON文件是數組格式。添加一個包含此數組作爲值的節點,然後將您的Sencha Touch文件中的(您的代理的)數據節點設置爲此節點。 的JSON將如下所示:

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

嗨,我新與json ..我會如何創建? – Elias 2012-04-20 07:40:35

+0

請參閱編輯。 – Geerten 2012-04-20 08:34:56

0

你應該使用Chrome瀏覽和Chrome開發者工具來調試代碼。你的json文件是正確的。

+0

這是正確的JSON,但它是否正確,所以Sencha Touch可以理解它?他們需要某些結構來正確解析它。 – Geerten 2012-04-20 09:44:26

+0

你可以參考Sencha Touch中的json文件的例子 – 2012-04-21 04:27:10

相關問題