0

我有巨大的应用程序。我将有一个通用文件夹,其中包含跨多个扩展的通用 extjs 文件。扩展文件夹将从普通视图扩展基本视图并添加自己的组件。我的应用程序结构是

common -app --model --view --store --controller ---CommonController.js(控制器文件)

extension1 -app --model --view --store --controller ---Extension1Controller.js (这应该扩展 CommonController.js) app.js

应用程序.js

代码:

Ext.Loader.setConfig({enabled:true});
Ext.Loader.setPath('Ext.ux', 'extjs/ux');
Ext.Loader.setPath('commonapp', '/common/app');
Ext.require([
    'Ext.data.*',
    'Ext.grid.*',
    'Ext.tree.*'

]);


Ext.application({
    name: 'NSM',
    appFolder: '/extension1/app',

    controllers: [

        'Extension1Controller'

    ],
    launch: function() {

        Ext.create('Ext.panel.Panel', {
        layout: 'fit',
        renderTo:'contentContainer',

        items: [
            {
                xtype: 'panel'

            }
        ]
    });

    }
});

Extension1Controller.js

Ext.define('NSM.controller.Extension1Controller', {
    extend: 'commonapp.controller.CommonController', //Extending the controller from common






    init: function() {
        //this.getWPPolicyStoreStore().addListener('write',this.finishedLoading, this);

        console.log("in sample controller");
    }


    });

但是扩展会引发以下错误

未捕获的错误:即使文件已加载,也未声明以下类:'commonapp.controller.CommonController'。请检查其对应文件的源代码是否存在拼写错误:'/common/app/controller/CommonController.js

请帮忙。

4

1 回答 1

0

请将扩展配置替换为 'Ext.app.Controller' 而不是 'commonapp.controller.CommonController' 。因为 extend 您正在指定要扩展的类。要解决您的问题,只需在 Ext.application 块中添加该控制器('commonapp.controller.CommonController')作为另一个控制器的一部分。

谢谢。

于 2013-04-23T08:27:10.233 回答