2012-09-25 115 views
0

我想知道如何将更传统的属性类纳入ExtJS 4的动态加载?在Ext3的,如下我将创建一组属性:在ExtJS4中创建属性的最佳方法是什么?

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

也想象一下,我将创造下组织了一组扩展的对象:

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是创建一组属性的最佳方式吗?我错过了第三个更好的选择吗?感谢帮助!

回答

0

选项2应该适合你。

无论Ext版本如何,JavaScript都不会让您创建“名称空间”对象,而无需先创建根对象等。 Ext具有名称空间功能,可用于为您的整体应用程序创建一个名称空间函数。自从4.0使用Ext.application来设置你的名字空间和Ext.define来创建名字间隔的类。

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

+0

谢谢!关于动态加载(我的部分错误地称为),我主要提到版本4中的新组件模型(即'Ext.define('org.obj',{}); ')提取“名称空间”解析。 –

+0

您可能想阅读本指南http://docs.sencha.com/ext-js/4-1/#!/guide/class_system – dbrin

相关问题