Extjs 实例化initComponent中要在项中使用的对象
我一直遇到这个问题。我有一个定义了“items”的自定义组件。我希望有人使用我的组件,但定义一些配置值(即我希望我的小部件有一个构造函数!) 假设我有一个这样的组件。我想要一个参数通过'SomeArgumentPassedAsConfig'传递,并且我想要在items树中的某些items对象上设置该参数Extjs 实例化initComponent中要在项中使用的对象,extjs,extjs4,extjs4.2,Extjs,Extjs4,Extjs4.2,我一直遇到这个问题。我有一个定义了“items”的自定义组件。我希望有人使用我的组件,但定义一些配置值(即我希望我的小部件有一个构造函数!) 假设我有一个这样的组件。我想要一个参数通过'SomeArgumentPassedAsConfig'传递,并且我想要在items树中的某些items对象上设置该参数 Ext.define('MySuperDupeyComponent', { extend: 'Ext.panel.Panel', alias: 'widget.MySuperD
Ext.define('MySuperDupeyComponent', {
extend: 'Ext.panel.Panel',
alias: 'widget.MySuperDupeyComponent',
initComponent: function() {
alert('ch --> ' + this.someArgumentPassedInAsConfig);
},
items: [{
xtype: 'someWidget',
somePropertyIwantToSet: this.someArgumentPassedInAsConfig
}]
})
最好的方法是什么?我希望有人能够像这样使用我的组件
items: [
{
xtype: 'MySuperDupeyComponent',
someArgumentPassedInAsConfig: 'Blah blah blah'
}
是在构造函数中使用Ext.apply的唯一方法吗?如果这是您要查找的,那么在initComponent方法中声明项应该可以工作
Ext.define('MySuperDupeyComponent', {
extend: 'Ext.panel.Panel',
alias: 'widget.MySuperDupeyComponent',
initComponent: function() {
alert('ch --> ' + this.someArgumentPassedInAsConfig);
this.items = [{
xtype: 'someWidget',
somePropertyIwantToSet: this.someArgumentPassedInAsConfig
}]
this.callParents(arguments);
}
})
应该允许你这样使用它
Ext.create('Ext.panel.Panel', {
items: [{
xtype: 'MySuperDupeyComponent',
someArgumentPassedInAsConfig: 'Blah...'
}]
});
我有一种奇怪的感觉,几年前我问过这个问题。好像是我干的。