ext5 - 異步加載要使用的自定義類

利用ext良好的擴展性,咱們很容易定義本身的組件。通常這樣組件的代碼都是一個單獨的文件,在要用的時候就加載進來。長此以往,這樣自定義的組件多了一樣組件所對的文件也多了起來,這時若是咱們手動的去加載js文件,不只界面變得混亂,並且還會浪費一些帶寬。下面的就是利用Ext.Loader.setConfig動態的加截這些文件javascript

 下面myWin.js是自定義的組件,組件名稱(不包括組件的命名空間)要和文件名一致:java

Ext.define("customComponent.myWin",{
	extend:'Ext.window.Window',
     title: 'Hello',
     height: 200,
     width: 400,
     layout: 'fit',
     items: {  // Let's put an empty grid in just to illustrate fit layout
         xtype: 'grid',
         border: false,
         columns: [{header: 'World'}],                 // One header just for show. There's no data,
         store: Ext.create('Ext.data.ArrayStore', {}) // A dummy empty data store
     },
	constructor: function (config) {
         this.callParent(arguments); // calls Ext.panel.Panel's constructor
         
     }
})

利用Ext.Loader.setConfig,設置要加載的資源位置。:this

Ext.Loader.setConfig({
	enabled:true,
	paths:{
		customComponent:'custom/win'
	}
});

如上customComponent 猶如是一個命名空間,而其值就是命名空間所映射的資源路徑,下面咱們就能夠建立customComponent.myWin 窗口了:code

Ext.onReady(function(){
    var win = Ext.create("customComponent.myWin");
	win.show();

})

當ext建立customComponent.myWin時發現沒有這個類,就會解析這個類其中customComponent會被認做命名空間,併到Ext.Loader.setConfig中去匹配,發現路徑是custom/win。而myWin就會被認作是文件名,最後的資源路徑是./custom/win/myWin.js。Ext會自動的加載這個資源,這樣咱們就不用手動的去指定路徑了。記住Ext只是在建立該類時纔去加載的文件的。ip

注意:Ext.Loader.setConfig調用要在Ext.onRead前資源

相關文章
相關標籤/搜索