无法将 extjs 3 迁移到 extjs 4

Posted

技术标签:

【中文标题】无法将 extjs 3 迁移到 extjs 4【英文标题】:Unable to migrate extjs 3 to extjs 4 【发布时间】:2013-12-19 12:53:45 【问题描述】:

我正在从 extjs 版本 3 迁移到 extjs 版本 4。我已使用 sencha 提供的 Ext 3 到 4 迁移指南将兼容性层添加到我的项目中。 为了启用 Ext 3 兼容性,我在 ext-all-debug.js(extjs4) 之后添加了以下行。 //兼容性

我删除了

  // Ext 3
  <script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script>
  <script type="text/javascript" src="scripts/external/extjs/ext-all.js"></script>

我修复了下面的脚本错误

  // Ext 3:
  Ext.reg('mycoolclass', Ext.ux.MyCoolClass);

  // Ext 4 (compatibility mode only, optional)
     Ext.reg('mycoolclass', 'Ext.ux.MyCoolClass');

在 extjs-all-debug.js 中仍然出现以下错误。

    TypeError: me.events is undefined
           event = me.events[ename];

我做错了什么? 如何避免这种错误? 请任何人建议以最少的代码更改将现有的 extjs3 应用程序迁移到 extjs4

【问题讨论】:

【参考方案1】:

改用Ext.define

Ext.define('Ext.ux.MyCoolClass', 
    extend: 'ClassNameYouAreExtending',
    alias: 'widget.mycoolclass'
);

并确保您已为您的活动完成addEvents("yourEvent")

【讨论】:

以上是关于无法将 extjs 3 迁移到 extjs 4的主要内容,如果未能解决你的问题,请参考以下文章

将 Webapp 从 ExtJS 3 和 DWR 更新到 ExtJS 5

从 Sencha ExtJS 4.0 迁移到 ExtJS 4.1

Extjs 3 到 Extjs 4 [关闭]

从 4.1 升级到 4.2 后无法访问 extjs 应用程序

EXTJS,无法将事件处理程序绑定到控制器

ExtJS 4.2 将网格数据导出到可下载的 CSV 文件