【发布时间】:2011-12-08 14:41:50
【问题描述】:
我开始按照 ExtJS4 的新 MVC 模式开发原型。我有一个包含客户列表(网格)和详细信息表单的主表单(客户),双击网格中的一行打开详细信息表单。目前,我已经在主表单的控制器中完成了这样的操作:
var view = Ext.widget('CustomerDetailsView');
view.show();
但我还需要将 customerID 传递给详细信息表单,以使详细信息表单为客户加载附加数据。在simple MVC sample app at the Sencha web site 中,这是由:
view.down('form').loadRecord(selectedRecord);
所以我理解这一点的方式是详细信息视图加载了主视图中的整个记录。首先,我的详细信息视图有它自己的控制器和存储,其次,这似乎不是在视图之间进行通信的正确方式。
- Master 控制器不应该以某种方式调用 Details 控制器吗?
- in another post here 建议使用事件进行所有这些通信 在视图/控制器之间,但我不确定创建是否有意义 所有这些应用程序范围的事件只是为了一个简单的主/细节 沟通
在 ExtJS4 MVC 应用程序模式中将数据传递给子视图/控制器的建议方法是什么?
【问题讨论】:
-
我在这里解释了一种使用路由的方法。stackoverflow.com/a/24125359/434319
标签: model-view-controller extjs4