Extjs几个ViewControllers和Views之间通信的最佳实践

时间:2015-03-13 07:55:59

标签: extjs

问题是,如何使用extjs5构建一个通用应用程序,在西区域内我有一个树状区域,在中心区域内我想根据treepanel项目点击添加面板。面板应该放在单独的文件中,并且应该将它自己的ViewControllers放在单独的文件中。区域位于视口中。视口具有自己的MainViewController。

  1. 我试图从MainViewController获取ViewController,但遗憾的是我找不到合适的解决方案。

  2. 我还试过而不是几个ViewControllers创建公共控制器并从MainViewController调用他们的方法,如下所示:

    MyApp.app.getController(' ConnectionController&#39)。showPanel();

  3. 但是我无法知道如何从它的控制器中获取视图 - 所有下面的返回都未定义:

    console.log(Ext.ComponentQuery.query('#connection')[0]);
    console.log(Ext.getCmp('connection'));
    console.log(this.lookupReference('connection'));
    

    毕竟我认为这是一个错误的沟通模式。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

我终于明白了。要在MainViewController和Panel之间进行通信,可以从视图控制器创建已定义的面板,如下所示:

var panelToAddName = Ext.create('MyApp.view.Panel1View', {});