我想從控制器傳遞數據到現有的視圖,我試過以下但他們都不工作,我想傳遞一個數據,以便我可以顯示它一個現有的面板。從控制器傳遞數據到sencha現有的視圖tocuh
從控制器
1. Ext.Viewport.setActiveItem('profileinfo');
Ext.Viewport.setData(record.data);
2. Ext.Viewport.setActiveItem('profileinfo').setData(record.data);
3. Ext.Viewport.setActiveItem('profileinfo', {data:record.data});
4. Ext.Viewport.setActiveItem({ xtype:'profileinfo', data:record.data});
其中profileinfo
是那裏有一個titlebar
面板,我顯示title
爲{member_data}
這是數據
loadList:function(me, index, target, record, e, eOpts){
console.log(record.data.member_name);
Ext.Viewport.setActiveItem({
xtype:'profileinfo',
data:record.data}
);
}
我可以在我的profileinfo
面板的initialize
看到的一部分功能data
可用 但我無法使用訪問它210
initialize: function(){
this.callParent();
console.log("initialized");
console.log(this.config.data); // able to see the data
}
但數據沒有反映在面板
{
xtype:'titlebar',
title:'{member_name}' // its displaying {member_name} text rather then data itself
}
更新
這裏是profileinfo
代碼
Ext.define('demo.view.ProfileInfo', {
extend: 'Ext.form.Panel',
xtype: 'profileinfo',
requires: [ 'Ext.TitleBar','demo.view.ProfileMemberInfo'],
config: {
layout:'vbox',
items: [
{
xtype: 'titlebar',
title: 'demo',
cls: 'bms-bg-head',
height:'65px',
center:true,
html:'<div class="demo-mini-logo"></div>'
},{
xtype:'label',
// nothing is visible here
html:'{member_name}'
}]
},
initialize: function(){
this.callParent();
// record is visible
console.log(this.config.record);
}
});
這裏控制器代碼
loadList:function(me, index, target, record, e, eOpts){
Ext.Viewport.setActiveItem({
xtype:'profileinfo',
record:record
}
);
}
我更新了答案 – Viswa