ExtJS将Ext.app.Controller转换为Ext.app.Application

时间:2012-12-21 17:57:41

标签: javascript extjs extjs4 extjs-mvc

我正在尝试将扩展Ext.app.Controller的类转换为扩展Ext.app.Application。由于Ext.app.ApplicationExt.app.Controller的子类,我认为只是更改正在扩展的类会起作用,但是,它会导致控制台中出现Uncaught TypeError: Cannot call method 'substring' of undefined错误。错误发生在this.callParent(arguments)内的constructor: function,是否有人对可能导致此问题的原因提出任何建议?

1 个答案:

答案 0 :(得分:1)

你不能在Ext.app.Application类中使用构造函数。更改将附带4.2,但在此之前使用启动方法来应用东西。并且不要延长。

应用程序是一种单例实例,只需通过调用

初始化即可
Ext.application({
    name: 'MyApp',
    launch: function() {
        Ext.create('Ext.container.Viewport', {
            items: {
                html: 'My App'
            }
        });
    }
});

尝试运行更多实例会导致问题,但您可以使用4.2这样做

Ext.define('MyApp.Application', {
    extend: 'Ext.app.Application',
    name: 'MyApp'
...
});

Ext.application('MyApp.Application');