1. 这篇博文要记录什么:Extjs中的新类,Ext.Loader . 作用是可以在需要的时候即时加载js,而不是在页面head里一股脑儿把所有js都加载。
?
2. 环境条件:Extjs 3.3新增加的js,经我测试可以平稳转移到其他低版本的EXT上。
?
3. Loader试用代码:
?
Ext.Loader.load(["<c:url value='/dwr/interface/testaManager.js'/>"],function(){ 。。。一堆加载完js要做的事情 });
?
Loader类很小,算上注释也只有96行代码,但它却实现了一个很实用的功能——在程序需要某个js的时候才对这个Js进行手工加载,因此在触发某些事件前不需要用到的js,我们就不必把它们写在页面的<head>里了。
刚听到这个功能的时候,我心中一震,这不是传说中的延迟加载么?细看了一下API,才发现不是想像中的“用到才自动加载”。而是基于一种手工编码的,在确定需要使用到某个js的时候,手动加载js的功能。
?
Ext.Loader.load方法就是延迟加载js的方法。它有四个参数:
?
- fileList:将要被加载的一系列js的路径。切记,必须传入集合类型,否则fileList.length会解析错误。(必填)
- callback: fileList