Extjs 4 到 6 迁移 类
Extjs 4 to 6 migration classes
我们有用 Extjs 4 编写的 js 文件。我必须将这些文件迁移到 Extjs 6。几乎一切都很好,但是当我们 create
拥有 classes(扩展的 extjs classes),我们遇到了问题。 (不幸的是没有 mvc,只有 classes 和 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
是true
除了一个对象,我们在控制台得到如下错误信息:"Cannot use 'in' operator to search for 'xclass' in true"
我们的 classes 或创建有什么问题?
这是一个class:
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
});
我想,我必须用另一种方式来称呼...
哦,我找到了!我们在配置中使用了buttons: true
我们有用 Extjs 4 编写的 js 文件。我必须将这些文件迁移到 Extjs 6。几乎一切都很好,但是当我们 create
拥有 classes(扩展的 extjs classes),我们遇到了问题。 (不幸的是没有 mvc,只有 classes 和 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
是true
除了一个对象,我们在控制台得到如下错误信息:"Cannot use 'in' operator to search for 'xclass' in true"
我们的 classes 或创建有什么问题?
这是一个class:
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
});
我想,我必须用另一种方式来称呼...
哦,我找到了!我们在配置中使用了buttons: true