0

我想知道如何将更传统的属性类合并到 ExtJS 4 的动态加载中?在 Ext3 中,我将创建一组属性,如下所示:

org.config.appName = "appname";
org.config.browser = {};
org.config.browser.Browsers = [
    {
        name: 'Chrome',
        ....
    }
];

还想象一下,我会在 org 下创建一组扩展对象:

org.foo = Ext.extend('Ext.Panel', {
    ...
});

在 Ext4 中,当我加载属性时,尚未创建 org,因此会引发错误。我相信,这给我留下了两种解决问题的方法:

  1. 定义组织: if(typeof org === 'undefined') { org = {}; }
  2. 将属性作为单例动态加载:

    Ext.define('org.config',{
        singleton: true,
        appName: "appname",
        browser: {
            Browsers: [
                {
                    name: 'Chrome',
                    ...
                },
                ...
            ]
        }
    });
    

选项 1 如何影响动态加载的对象?选项 2 是创建一组属性的最佳方式吗?我错过了第三个更好的选择吗?感谢帮助!

4

1 回答 1

0

选项 2 应该适合您。

无论 Ext 版本如何,JavaScript 都不会让您在没有首先创建根对象的情况下创建“命名空间”对象等等。Ext 具有命名空间功能,用于为您的整个应用程序创建一个。从 4.0 开始,使用 Ext.application 设置命名空间,使用 Ext.define 创建命名空间类。

我不太清楚动态加载的对象是什么意思...

于 2012-09-25T22:36:59.193 回答