Ext.define('RevenuePanel', { extend: 'Ext.panel.Panel',
items: [
..........
Ext.create('Ext.button.Button', {text: 'Button'}) ]
});
在这种情况下,我相信items属性被复制到类的原型中 允许面板在多个容器中具有自定义行为的良好编程习惯是什么?它将在应用程序中使用它?
我们在Ext3.4x上
答案 0 :(得分:2)
我假设您只想添加更多项目,而不会覆盖预定义。
Ext.define('RevenuePanel', {
extend: 'Ext.panel.Panel',
initComponent: function(){
var me = this,
newItems = me.items,
defaultItems, items;
// apply your default items
defaultItems = [{xtype:'button', text:'Button'}];
// check if there are new items defined for this instance
if(typeof newItems != 'undefined') {
items = defaultItems.concat((newItems instanceof Array ) ? newItems : [newItems]);
} else {
items = defaultItems;
}
// override the items
me.items = items;
me.callParent(arguments);
}
});