Extend Class second time sencha touch 2
问题描述:
我已经在Sencha Touch 2中扩展了我的实用程序/类,现在我想通过不同的类型再次扩展它,以便通过配置对象中的不同设置。 Ive再次扩展它,但只是扩展它(通过再次添加extend: 'Ext.ux.MyUX'
)它将返回先前对象中的优先设置,但我想完全不同地处理它。 如何删除以前的扩展类或清空items[]
。Extend Class second time sencha touch 2
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[]
。
config: {
fullscreen: true,
items : [
{
title: 'Home'
},
{
title: 'ABOUT',
items: [{
items: [
{ xtype: 'about'},
{
xtype: 'titlebar',
title: 'About Us',
docked: 'top'
}]
}]
}
]
}
答
在类原型有items
不是,即使你不打算进一步扩展该类一个非常好的主意。如果您有多个实例,那么来自原型的复杂变量将被所有不可避免导致麻烦的实例共享。
要你我想创建一个基类,将包含由后人所需要的所有功能,我会延长该:
B -> C
B -> D
,而不是根据需要
B -> C -> D
后人将实施项目。
答
有一个关于如何使用配置对象扩展类一个真正有用的文章: http://skirtlesden.com/articles/config-objects-on-the-prototype
如果这没有帮助,我建议按照萨基的问题,一个完整的源代码示例。例如。你在哪里实现了初始化函数以及你从哪个类派生而来,并不明显。
你能发布完整的基本代码和扩展类吗? – Saki 2015-02-08 10:09:22
@Saki可以采取简单的配置'Ext.ux'项目。 – developer 2015-02-08 17:07:30
从单纯的描述来看,我不知道你想要达到什么样的目的,这是什么问题。所以我希望我能从代码中理解。 – Saki 2015-02-08 18:13:28