2015-08-31 5 views
0

У меня есть код записи в функции запуска контроллера .get данные из хранилища и используйте Ext.each для получения строки в записях и используйте setdata для передачи данных типа строки, чтобы сделать отображение меток , если я пишу статическую строку, она работает, но она не работает, когда я передаю строку из записей + описать строку.почему метка в поле зрения получает данные от контроллера null

код в контроллер запуска Funtion

storeId.load({ 
     callback: function(records, operation, success){ 
      Ext.each(records, function(record) { 
       console.log(record.get('data')); 
       console.log(record.get('earn'));      
       var data = record.get('data');       
       var string = '{data:\'' + record.get('data') + '\',earn:\'' + record.get('earn') + '\'}'; 
       console.log(string); 
      //Ext.getCmp('datalabel').setData({data: '10000',earn: '10000'});----work 
      Ext.getCmp('datalabel').setData(string);-----not work display null 
      }); 
     } 
    }); 

кода в связи

     xtype: 'label', 
         id: 'datalabel', 
         flex: 1, 
         store: 'datainterests', 
         tpl: 'money:{data},interests:{earn}', 

ответ

0

Этот код работает доказать, что setData() применить тип объекта аргумент вместо строки.

Ext.getCmp('datalabel').setData({data: '10000',earn: '10000'}); 

Вы можете попробовать:

Ext.getCmp('datalabel').setData({ 
    data: record.get('data'), 
    earn: record.get('earn') 
}); 

или

Ext.getCmp('datalabel').setData(record.raw);