这是用ext designer 自动生成的代码,我想讲items里json格式panel定义直接用panel类名替代,不知可不可行。
[code="java"]MyViewportUi = Ext.extend(Ext.Viewport, {
layout: 'border',
initComponent: function() {
this.items = [
{
xtype: 'panel',
title: 'My Panel',
region: 'center'
},
{[color=red][/color]
xtype: 'panel',
title: 'My Panel',
region: 'west',
width: 100
},
{
xtype: 'panel',
title: 'My Panel',
region: 'east',
width: 100
}
];
MyViewportUi.superclass.initComponent.call(this);
}
});
[/code]
以下是ext designer 生成的viewport和panel的类定义
[color=red]viewport定义[/color][code="java"]MyViewportUi = Ext.extend(Ext.Viewport, {
layout: 'border',
initComponent: function() {
this.items = [
{
xtype: 'panel',
title: 'My Panel',
region: 'center'
},
{
xtype: 'panel',
title: 'My Panel',
region: 'west',
width: 100
},
{
xtype: 'panel',
title: 'My Panel',
region: 'east',
width: 100
}
];
MyViewportUi.superclass.initComponent.call(this);
}
});
[/code]
[color=red]panel定义[/color]
[code="java"]
MyPanelUi = Ext.extend(Ext.Panel, {
title: 'My Panel',
region: 'center',
initComponent: function() {
MyPanelUi.superclass.initComponent.call(this);
}
});
MyPanel1Ui = Ext.extend(Ext.Panel, {
title: 'My Panel',
region: 'west',
width: 100,
initComponent: function() {
MyPanel1Ui.superclass.initComponent.call(this);
}
});
MyPanel2Ui = Ext.extend(Ext.Panel, {
title: 'My Panel',
region: 'east',
width: 100,
initComponent: function() {
MyPanel2Ui.superclass.initComponent.call(this);
}
});
[/code]
我的想法是viewport中items不用json格式了,而是直接用panel的类名定义,如下面代码所示,不知可行,可有类似方法?
[code="java"]
MyViewportUi = Ext.extend(Ext.Viewport, {
layout: 'border',
initComponent: function() {
this.items = [
MyPanelUi,
MyPanel1Ui,
MyPanel2Ui
];
MyViewportUi.superclass.initComponent.call(this);
}
});
[/code]