我已经在Sencha Touch 2中扩展了我的实用程序/类,现在我想通过不同的类型再次扩展它,以便通过config对象中的不同设置。
我再次扩展它但是当它被扩展时(仅通过再次添加extend: 'Ext.ux.MyUX'
)它返回前一个对象中的前置设置,但我想以完全不同的方式处理它。
如何删除以前的扩展类或清空items[]
。
Ext.define('MyAPP.view.MyView', {
extend: 'Ext.ux.MyUX',
xtype: 'my',
});
我的代码:
initialize: function() {
var items = [
xtype: 'toolbar',
docked: 'top',
title:'title'
}];
this.setItems(items);
}
编辑1:
让我们说,我有一个扩展我的Ext.ux.MyUX
的后续配置对象。对于第一个实例,它完美地工作,扩展我的类并覆盖items[]
,但是当我想再次扩展它时,对于不同的覆盖,它显示先前覆盖/扩展的先前items[]
。 / p>
config: {
fullscreen: true,
items : [
{
title: 'Home'
},
{
title: 'ABOUT',
items: [{
items: [
{ xtype: 'about'},
{
xtype: 'titlebar',
title: 'About Us',
docked: 'top'
}]
}]
}
]
}
答案 0 :(得分:0)
即使您不打算进一步扩展该类,在类原型中使用items
也不是一个好主意。原型中的复杂变量由所有实例共享,如果您有多个实例,则不可避免地会导致麻烦。
是你我要创建一个包含后代所需的所有功能的基类,我会扩展它:
B -> C
B -> D
而不是
B -> C -> D
后代会根据需要实施项目。
答案 1 :(得分:0)
有一篇关于如何使用config对象扩展类的非常有用的文章: http://skirtlesden.com/articles/config-objects-on-the-prototype
如果这没有帮助,我建议按照Saki的问题获取完整的源代码示例。例如。你实现初始化函数和从哪个类派生的地方并不明显。