为什么我应该使用Ext.dispatch而不是直接调用控制器代码?

时间:2011-05-29 15:26:20

标签: sencha-touch extjs

当使用Sencha Touch中的[相对较新的] MVC位时,我发现90%的调度调用看起来像:

Ext.dispatch({
    controller: "customers",
    action: 'show',
    record: record
});

这没关系,我喜欢将流程委托给单独的控制器代码,而不是复杂的事件路径,但我还没有看到任何优势,只做以下事情:

controllers.customers.show({
    record: record
});

哪个更短更清洁。我觉得我只是为了它而遵循Ext.dispatch模式。我的应用程序没有受益于状态的推送/弹出网址历史记录,这是我可以看到使用这种更复杂的方法的唯一原因。

我错过了什么?使用Ext.dispatch调用控制器可以获得什么?

1 个答案:

答案 0 :(得分:9)

如果您需要将它们重定向到另一个控制器,则beforedispatch事件很方便。

使用dispatch还允许我根据需要加载控制器代码,而不是一次加载页面加载。我将应用程序的启动时间缩短了一半。

你说你的应用程序不需要它,但能够设置historyUrl并直接链接到页面将是我认为的其他用户的主要好处。

所以我猜这一切都取决于应用程序是否有意义使用它。