2012-05-11 10 views
0

mdiの別のアプリケーションにアプリケーションを拡張する方法はありますか? 例:私は3つのアプリケーションを持っています: "Transaction"、 "SalesOrder" & "PurchaseOrder" "SalesOrder" & "PurchaseOrder"で "Transaction"を拡張して再利用したいと思います。 それを行うためのきれいな方法は何ですか?Extjs 4 mdiのアプリケーションを拡張

答えて

1

applicationを特定の名前で定義し、次にextendを定義することができます。

BaseApp.js

Ext.application({ 
    name: 'BaseApp', 
    launch: function() { 
     alert("Base App Launch"); 
    } 
}); 

ChildApp.js

Ext.application({ 
    //extend from base app 
    extend: 'BaseApp', 
    name: 'ChildApp', 
    launch: function() { 
     alert("Child App Launch"); 
    } 
}); 
0

はい、それはExtJSに4.2以降が可能です。

Ext.define('Transaction.Application', { 
    extend: 'Ext.app.Application', 
    requires: [], 

    // application namespace 
    name: 'Transaction', 

    // name of the app instance in DOM (e.g. Transaction.instance) 
    //appProperty: 'instance', 

    // application folder 
    appFolder: '/js/Transaction', 

    autoCreateViewport: true, 

    controllers: [ 
    ], 

    views: [ 
    ], 

    launch: function() { 
     console.log('application started'); 
    } 
}); 

Ext.define('SalesOrder.Application', { 
    extend: 'Transaction.Application', 
    requires: [], 

    // application namespace 
    name: 'SalesOrder', 

    // application folder 
    appFolder: '/js/SalesOrder', 

    autoCreateViewport: false, 

    controllers: [ 
    ], 

    views: [ 
    ], 

    launch: function() { 
     Ext.create('Ext.container.Viewport'); 
     this.callParent(); 
    } 
}); 

Ext.define('PurchaseOrder.Application', { 
    extend: 'Transaction.Application', 
    requires: [], 

    // application namespace 
    name: 'PurchaseOrder', 

    // application folder 
    appFolder: '/js/PurchaseOrder', 

    autoCreateViewport: false, 

    controllers: [ 
    ], 

    views: [ 
    ], 

    launch: function() { 
     Ext.create('Ext.container.Viewport'); 
     this.callParent(); 
    } 
}); 

Ext.application('PurchaseOrder.Application'); 

// Then you can acces your application instance anywhere: 
var app = PurchaseOrder.getApplication(); 
:ここ http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.app.Application

で 'Ext.app.Application由来'

チェックドキュメントのセクションは小さな一例です

関連する問題