Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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
Javascript EXTJS5 MVVM:从视图控制器获取全局控制器_Javascript_Extjs_Mvvm_Extjs5 - Fatal编程技术网

Javascript EXTJS5 MVVM:从视图控制器获取全局控制器

Javascript EXTJS5 MVVM:从视图控制器获取全局控制器,javascript,extjs,mvvm,extjs5,Javascript,Extjs,Mvvm,Extjs5,从全局控制器,我可以很容易地获得对另一个全局控制器的引用 this.getController('TargetController'); 但是,在视图控制器的上下文中,如何获取对同一控制器的引用?i、 e: Ext.define('myCoolApp.view.SomeNeatController', { extend: 'Ext.app.ViewController', alias: 'controller.someneat', // this is bound t

从全局控制器,我可以很容易地获得对另一个全局控制器的引用

this.getController('TargetController');
但是,在视图控制器的上下文中,如何获取对同一控制器的引用?i、 e:

Ext.define('myCoolApp.view.SomeNeatController', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.someneat',

    // this is bound to a button click event, let's say.
    onClick: function(button) {

        // How to get a reference to a global controller here? 
        // this.getController('TargetController'); is not defined
        // on the view controller....

    }

});

也许我遗漏了一些简单的东西,但如果有任何帮助,我将不胜感激

在命名空间上调用getController应该可以:

myCoolApp.app.getController('TargetController');`

在99.99%的情况下,如果您需要在ExtJS5中获取对全局控制器的引用,那么您就做错了。目的是什么?我以为有人会问这个我必须从webservice(GoogleDriveAPI)检索一些数据,我将这个逻辑(以及所有oauth2内容)很好地抽象为一个来自先前ExtJS4项目的控制器。我需要从我在视图控制器中处理的事件开始数据检索。它可能不是100%理想的体系结构,但在我看来,重构工作、测试(和漂亮)的代码以适应设计模式就更不可取了。控制器事件域是这里使用的工具。看我的帖子:而且整洁。我以前没有注意到这一点。ext5.0.0文档中的一个小错误:ext.app.EventDomain类将控制器域列为从ext.app.controller扩展而来的所有类。视图控制器不从Ext.app.Controller扩展(尽管两者共享一个公共Ext.app.BaseController基),但控制器事件域确实侦听从视图控制器触发的事件。无论如何,谢谢你的提示。我也在寻找这个问题的答案,但找不到。这不是一个全球电话吗?在本例中,您的控制器必须知道您有一个myCoolApp和一个TargetController,这使得它非常依赖于这些东西。我不喜欢这个解决方案。我不喜欢首先了解视图控制器中全局控制器的必要性。如果您需要,该应用程序需要重新设计。我在Ext5和Ext6中编写了两个非常大的应用程序,我从来都不需要它。