从EXTJS 4 MVC中的视图调用Controller方法

时间:2013-04-08 05:08:05

标签: model-view-controller extjs extjs4 extjs-mvc

我是EXTJS 4 MVC架构的新手。我在控制器中有一个功能,我想从我的视图中调用。我怎么称呼这个功能?

2 个答案:

答案 0 :(得分:0)

您可以发送消息:YourApp.fireEvent('my_event', options)并在控制器内部进行聆听。但这不对。

如果您正在使用 mvc ,则不应在视图中编写代码。 (注意:可能有代码,例如列渲染器代码,而不是业务逻辑)。视图应该只是一个组件组。要创建组件事件侦听器,请使用Ext.app.Controller的 control 方法。

答案 1 :(得分:0)

你可以这样做:
您可以将控制器作为全局变量放在app.js中,如下所示:

Ext.define('MySharedData', {
    my_Controller:Object

});

在您的控制器中:

MySharedData.my_Controller=this.getController('<ControllerfolderPath>.controllerName');

然后从您的视图中调用您想要的功能:

 MySharedData.my_Controller.my_Function();