sencha-touch - 为什么我应该使用Ext.dispatch而不是直接调用 Controller 代码?

标签 sencha-touch extjs

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

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

很好,我喜欢将流委派给单独的 Controller 代码,而不是将事件的复杂路径委派给我,但是我还没有看到仅仅执行以下操作的任何优势:
controllers.customers.show({
    record: record
});

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

我想念什么?使用Ext.dispatch调用 Controller 有什么好处?

最佳答案

如果需要将它们重定向到另一个 Controller ,那么beforedispatch事件很方便。

使用调度还可以让我根据需要加载 Controller 代码,而不是一次加载所有代码。我将应用程序的启动时间减少了一半。

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

因此,我想这一切都取决于应用程序,使用它是否有意义。

关于sencha-touch - 为什么我应该使用Ext.dispatch而不是直接调用 Controller 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6168561/

相关文章:

html - Sencha Touch/HTML5 从左到右滑动事件/效果

javascript - 从 javascript 进行 http 调用时失败

javascript - ExtJS EditorGridPanel 显示错误

javascript - extjs 按钮范围

extjs - Sencha Touch 当前工作目录 (/Developer/SDKs/MacOSX10.6.sdk/sencha-touch-2.1.0) 不是可识别的 Sencha SDK 或应用程序文件夹

javascript - Sencha Touch 2 : Ext. Msg.show 并点击任意位置隐藏

Extjs 4.2.1 - 配置自动加载 :false Fails

javascript - 在 extjs 6 中编辑后重新加载商店和网格

extjs - 绑定(bind)窗口按钮以进行表单验证

extjs - 在 sencha 列表项点击上显示隐藏 div