在ExtJS4中创建属性的最佳方法?

时间:2012-09-25 20:27:40

标签: javascript extjs4 extjs

我想知道如何将更传统的属性类合并到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',
                    ...
                },
                ...
            ]
        }
    });
    
  3. 选项1如何影响动态加载的对象?选项2是创建一组属性的最佳方法吗?我错过了第三个更好的选择吗?感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

选项2对你来说应该没问题。

无论Ext版本如何,JavaScript都不会让您创建"命名空间"没有先创建根对象的对象,依此类推。 Ext具有名称空间功能,用于为整个应用程序创建一个。从4.0开始,使用Ext.application设置命名空间,使用Ext.define创建名称间隔类。

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

相关问题