我们有用 Extjs 4 编写的 js 文件。我必须将这些迁移到 Extjs 6。几乎一切都很好,但是当我们create
拥有类(扩展的 extjs 类)时,我们遇到了问题。(不幸的是没有mvc,只有类和create
)。在 ext-all-debug 中:
create: function(config, defaultType) {
if (typeof config === 'string') {
return Ext.widget(config);
}
if (config.isComponent) {
return config;
}
if ('xclass' in config) { // **config is true**
return Ext.create(config.xclass, config);
}
return Ext.widget(config.xtype || defaultType, config);
},
除了一个对象,我们在控制台中收到以下错误消息:config
“ Cannot use 'in' operator to search 'xclass' in true”true
我们的类或创建有什么问题?
这是一个类:
Ext.define("My.component.TrunkListGrid", {
extend: "My.component.Grid",
// config
viewConfig: {
enableTextSelection: true
},
initComponent: function () {
// ...
Ext.apply(this, {
// ...
});
this.callParent();
this.addListener('render', function () {
// ...
}, this);
}
});
这是一个创建:
var g = Ext.create('My.component.TrunkListGrid', {
// config
});
我想,我必须用另一种方式称呼一些东西......