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

Chr*_*loe 9 extjs sencha-touch

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

Ext.dispatch({
    controller: "customers",
    action: 'show',
    record: record
});
Run Code Online (Sandbox Code Playgroud)

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

controllers.customers.show({
    record: record
});
Run Code Online (Sandbox Code Playgroud)

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

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

Jas*_*tas 9

beforedispatch事件非常方便,以防您需要将它们重定向到另一个控制器.

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

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

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