如何创建其他视图控制器通用的基础Ext.app.ViewController?

How to create a base Ext.app.ViewController common to other view controllers?

我想为 ExtJS 应用程序中使用的所有其他控制器创建一个基础 ViewController。

问题是ExtJs在/classic/src/view中寻找基础class而不是/app/view....

这是一个例子: 在/app/view/base/BaseController.js

Ext.define('myApp.view.base.BaseController', {
    extend: 'Ext.app.ViewController',

    doStuff: function(msg) {
        alert(msg);
    }
});

在/app/view/另一个/AnotherController.js

Ext.define('myApp.view.another.AnotherController', {
    extend: 'myApp.view.base.BaseController',

    onButtonClick: function() {
        doStuff('Button clicked');
    }
});

在/app/classic/src/view/另一个/Another.js

Ext.define('myApp.view.another.Another', {
    extend: 'Ext.panel.Panel',
    xtype: 'another',
    alias: 'view.another',
    id: 'panel_another',

    controller: 'another',
    items: [{
        xtype: 'button',
        text: 'The Button',
        handler: onButtonClick
    }]
});

然而,当我 运行 应用程序时,ExtJs 抛出一个错误,指出 /classic/src/view/base/BaseController.js 未找到!

我做错了什么?

感谢您的宝贵时间,感谢您的帮助!

您只需尝试通过 sencha app build 构建您的应用程序。它将解决此问题。

是的,同意上面answer.You也可以执行sencha app refresh。你可以在DEV中试试这个mode.Please也试试这个。