2014-01-16 6 views
0

Я читаю данные из канала JSON через магазин. Моя проблема в том, что я не могу отобразить данные в панели View.Передача Sencha Touch 2 на панель

Мой код панель выглядит следующим образом:

Ext.define('Layouts.view.Node', { 
    extend: 'Ext.Panel', 
    xtype: 'node', 

    config: { 
     title: 'Node Data', 
     styleHtmlContent: true, 
     scrollable: 'vertical', 

     tpl: new Ext.XTemplate(
      '<div>TITLE: {title}</div>' 
     ), 
    }, 

}); 

код магазина выглядит следующим образом:

Ext.define('Layouts.store.Node', { 
    extend: 'Ext.data.Store', 

    config: { 

     storeId: 'Node', 

     autoLoad: true, 
     model: 'Layouts.model.Node', 

     proxy: { 
      type: 'ajax', 
      url: 'http://178.79.128.76/revivaltimes/app/content/0', 

      reader: { 
       type: 'json', 
       rootProperty: 'JSON', 
      } 
     }, 

    },//config 

}); 

И код модели следующим образом:

Ext.define('Layouts.model.Node', { 
    extend: 'Ext.data.Model', 

    config: { 
     fields: [ 
      'title', 
      'body', 
     ] 
    }, 

}); 

Я не знаю, почему мой взгляд выглядит пустым.

ответ

0

Посмотрите на компоненте DataView: http://docs.sencha.com/touch/2.3.1/#!/api/Ext.dataview.DataView

DataView является правильным способом визуализации данных из хранилища. Ваше мнение стало бы что-то вроде этого (непроверенных код):

Ext.define('Layouts.view.Node', { 
    extend: 'Ext.dataview.DataView', 
    xtype: 'node', 

    config: { 
     title: 'Node Data', 
     styleHtmlContent: true, 
     scrollable: 'vertical', 
     store: 'Node', 

     itemTpl: new Ext.XTemplate(
      '<div>TITLE: {title}</div>' 
     ), 
    }, 

}); 

Обратите внимание на использование itemTpl для указания шаблона элемента.

+0

спасибо. Я дам ему попробовать – sisko

Смежные вопросы