Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 如何在另一个模块中使用一个模块的控制器?_Extjs_Model View Controller - Fatal编程技术网

Extjs 如何在另一个模块中使用一个模块的控制器?

Extjs 如何在另一个模块中使用一个模块的控制器?,extjs,model-view-controller,Extjs,Model View Controller,我有以下文件夹结构: module1/ init.js controller/ module1controller.js view/ ... module2/ init.js controller/ module2controller.js view/ module2view.js 文件module1/init.js现在如下所示 Ext.application({ name:'m

我有以下文件夹结构:

module1/
    init.js
    controller/
        module1controller.js
    view/
    ...
module2/
    init.js
    controller/
        module2controller.js
    view/  
        module2view.js
文件
module1/init.js
现在如下所示

Ext.application({
    name:'module1',
    appFolder:'/projects/modules/module1/',
    requires:[
        'Ext.container.Viewport',
        'Ext.layout.container.Border'
    ],
    controllers:['module1controller'], // Here I want to load controller from module2
    autoCreateViewport:true
});
我想知道如何在此
module1
视图和控制器中使用
module2
尝试以下方法:

   Ext.application({
        paths: {
            'm2': "../module2" 
        },
        name:'module1',
        appFolder:'/projects/modules/module1/',
        requires:[
            'Ext.container.Viewport',
            'Ext.layout.container.Border'
        ],
        controllers:['module1controller', 'm2.module2controller'], 
        autoCreateViewport:true
    });

谢谢我马上查。有一些麻烦。如果
m2
只是
“./module2”
,则浏览器无法找到module2控制器。但是,如果我将其更改为“./module2/controller”,那么它会尝试在
”./module2/controller/view/“
中查找
module2view.js
,这是不对的。我希望,你知道怎么解决这个问题。看来我找到了一个正确的方法。m2应保留为“./module2”,但控制器制动器内部应为:
控制器:['module1controller','m2.controller.module2controller']
。在这种情况下,将加载所有脚本。对于所有必需的视图和存储,您需要将它们添加到requires中。requires:['m2.view.module2view']这里m2是module2的路径。是的,我知道这一点(但我想我在控制器中使用了相对路径,这是第一次崩溃的主要原因)。现在效果很好。谢谢你,先生!PS.从来都不知道Sencha的MVC模式如此简洁。