侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130558 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

Ext5 - 异步加载要使用的自定义类

2024-05-16 星期四 / 0 评论 / 0 点赞 / 38 阅读 / 2232 字

利用ext良好的扩展性,我们很容易定义自己的组件。一般这样组件的代码都是一个单独的文件,在要用的时候就加载进来。久而久之,这样自定义的组件多了同样组件所对的文件也多了起来,这时如果我们手动的去加载js

利用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前

广告 广告

评论区