ext5 - 异步加载要使用的自定义类
博客专区 > Canaan_ 的博客 > 博客详情
ext5 - 异步加载要使用的自定义类
Canaan_ 发表于2年前
ext5 - 异步加载要使用的自定义类
  • 发表于 2年前
  • 阅读 56
  • 收藏 1
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

利用ext良好的扩展性,我们很容易定义自己的组件。一般这样组件的代码都是一个单独的文件,在要用的时候就加载进来。久而久之,这样自定义的组件多了同样组件所对的文件也多了起来,这时如果我们手动的去加载js文件,不仅界面变得混乱,而且还会浪费一些带宽。下面的就是利用Ext.Loader.setConfig动态的加截这些文件

 下面myWin.js是自定义的组件,组件名称(不包括组件的命名空间)要和文件名一致:

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,设置要加载的资源位置。:

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

如上customComponent 犹如是一个命名空间,而其值就是命名空间所映射的资源路径,下面我们就可以创建customComponent.myWin 窗口了:

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只是在创建该类时才去加载的文件的。

注意:Ext.Loader.setConfig调用要在Ext.onRead前

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 11
博文 184
码字总数 90581
×
Canaan_
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: