extjs - 初始化和解构 Controller 的最佳实践

标签 extjs sencha-touch-2

构建应用程序时设置 Controller 的最佳方法是什么?

我知道路由、事件监听器和大多数交互性都应该由 Controller 管理,但是我的主 Controller 开始失去控制,我不确定如何最好地将我的逻辑分离到单独的 Controller 中而不保留他们一直在“运行”......

最佳答案

即使有数十个 Controller ,也可以在应用程序启动时加载它们。 View 渲染需要时间。

使用 sencha cmd 确保您的应用程序已最小化并连接。

在测试中,我创建了 1000 个简单的 Controller ,如下所示:

Ext.define('app.controller.ControllerN', {
    extend: 'Ext.app.Controller',
    init: function(application) {    
        this.control({
            buttonN1: {
                click: function() {
                }
            },
            buttonN2: {
                click:function(){}
            }, 
            ... 20 listeners
        });
    }
});

我将它们连接到一个文件中,并将它们加载到 app.js 中,如下所示:

Ext.application({
    name:'app',
    controllers:[
      'Controller0',
      'Controller1'
       ... 1000 controllers
    ],
    launch:function(){}
}

从浏览器刷新(Chrome)到调用最后一个 Controller 的 init 方法花了一秒钟。

关于extjs - 初始化和解构 Controller 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16472136/

相关文章:

sencha-touch - 如何在 Sencha Touch 2 模型中存储日期

android - 在 sencha touch2.0 中隐藏叠加层时遇到问题

gridview - 使用ExtJS完全加载网格后的处理

javascript - Ext JS 4 中的可排序列表

local-storage - 显示本地存储中的值

javascript - Sencha Touch 中文本字段上的点击事件

Javascript/ExtJS - 通过 textarea 获取 Codemirror Editor

javascript - 如何在 Ext.Panel 标题中放置文本和可点击图标?

extjs - ext-all-debug.js 与 ext-all-dev.js

javascript - Infowindow googlemaps点击事件给出错误