为什么视图中的标签从控制器获取数据为空

why label in view get data from controller is null

我已经在控制器启动函数中编写了代码。从存储中获取数据,并使用Ext.each获取记录中的字符串,并使用setdata传递字符串类型数据以进行标签显示。如果我写静态字符串它可以工作,但是当我从记录中传递字符串 + 描述字符串时它不起作用。

控制器启动函数中的代码

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}',

此代码有效证明 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);