当使用Sencha Touch中的[相对较新的] MVC位时,我发现90%的调度调用看起来像:
Ext.dispatch({
controller: "customers",
action: 'show',
record: record
});
这没关系,我喜欢将流程委托给单独的控制器代码,而不是复杂的事件路径,但我还没有看到任何优势,只做以下事情:
controllers.customers.show({
record: record
});
哪个更短更清洁。我觉得我只是为了它而遵循Ext.dispatch
模式。我的应用程序没有受益于状态的推送/弹出网址历史记录,这是我可以看到使用这种更复杂的方法的唯一原因。
我错过了什么?使用Ext.dispatch调用控制器可以获得什么?
答案 0 :(得分:9)
如果您需要将它们重定向到另一个控制器,则beforedispatch事件很方便。
使用dispatch还允许我根据需要加载控制器代码,而不是一次加载页面加载。我将应用程序的启动时间缩短了一半。
你说你的应用程序不需要它,但能够设置historyUrl并直接链接到页面将是我认为的其他用户的主要好处。
所以我猜这一切都取决于应用程序是否有意义使用它。