2012-09-20 38 views

回答

6

我會回答ExtJS的4.0.x版/ 4.1.x版和SenchaTouch的2.0.x/2.1.x的

你不應該延長Ext.app.Application

爲什麼?

通過調用Ext.application({...});,您一次只能有一個應該(需要)總是配置爲& startet的活動應用程序。

一如既往,圍繞此方法(在兩個框架中)可以讓您使用自己的實例。但不會推薦它!

需要什麼?

基本上所需的唯一事情是重新實現和Ext.application方法內延伸的代碼,使得它能夠處理任何其他類然後Ext.app.Application。我將只添加一個SenchaTouch示例,對於ExtJS,請參閱代碼下方的ExtJS4.2部分。

SenchaTouch例如

application: function(appClass,config) { 
    var appName = config.name, 
     onReady, scope, requires; 

    if (!config) { 
     config = {}; 
    } 

    if (!Ext.Loader.config.paths[appName]) { 
     Ext.Loader.setPath(appName, config.appFolder || 'app'); 
    } 

    requires = Ext.Array.from(config.requires); 
    config.requires = [appClass]; 

    onReady = config.onReady; 
    scope = config.scope; 

    config.onReady = function() { 
     config.requires = requires; 
     Ext.create(appClass, config); 

     if (onReady) { 
      onReady.call(scope); 
     } 
    }; 

    Ext.setup(config); 
}, 

一個注ExtJS的4.2

煎茶宣佈ExtJS的4.2,這將使我們從Ext.app.Application類擴展