0

我正在尝试将扩展的类转换Ext.app.Controller为扩展Ext.app.Application。因为Ext.app.Application是一个子类,Ext.app.Controller我假设简单地更改正在扩展的类就可以了,但是,它会导致控制台中出现错误,显示Uncaught TypeError: Cannot call method 'substring' of undefined. 错误发生在this.callParent(arguments)内部constructor: function,有人对可能导致此问题的原因有任何建议吗?

4

1 回答 1

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');
于 2012-12-21T19:10:26.070 回答