我想知道如何将更传统的属性类合并到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,因此抛出错误。我认为,这使我有两种方法来解决问题:
if(typeof org === 'undefined') { org = {}; }
将属性动态加载为单例:
Ext.define('org.config',{
singleton: true,
appName: "appname",
browser: {
Browsers: [
{
name: 'Chrome',
...
},
...
]
}
});
选项1如何影响动态加载的对象?选项2是创建一组属性的最佳方法吗?我错过了第三个更好的选择吗?感谢您的帮助!
答案 0 :(得分:0)
选项2对你来说应该没问题。
无论Ext版本如何,JavaScript都不会让您创建"命名空间"没有先创建根对象的对象,依此类推。 Ext具有名称空间功能,用于为整个应用程序创建一个。从4.0开始,使用Ext.application设置命名空间,使用Ext.define创建名称间隔类。
我不太清楚动态加载的对象是什么意思......