ExtJS4中的requires使用方法

ExtJS4的requires是新增的机制,主要是实现异步加载机制。这样在不点击对应的按钮或者选项的时候就不会加载对应的js文件,提高了加载速度和用户等待时间。

requires机制的实现通过一个Ext.Loader.setConfig函数来设置文件寻找的映射目录,然后在需要用到对应js文件的时候使用Ext.require进行加载。

文件的存储结构如下所示:


ux文件夹和lesson2.htm和lesson22.js在相同的目录下,而使用到的MyWin.js存放在ux的文件夹中。

在lesson2.html中的代码如下所示:





extjs4 desktop
	
    
    
    
    


    


在该代码片中,并未加载ux目录下的MyWin.js文件,那么在加载该页面的时候,并不会把MyWin.js文件同时加载进来,只是在需要的时候再加载。这里的需要是通过点击button来实现的。

lesson22.js文件内容如下所示:

(function(){      
    Ext.Loader.setConfig({  
        enabled:true,  //开启异步加载模式
        paths:{  
            myApp:'lesson2/ux'	//声明文件的位置
        }  
    });  

    Ext.onReady(function(){       
    	Ext.require('ux.MyWin',function(){
    	
			var mw = Ext.create('ux.MyWin',{     
	    		title:'my Test' 
	    	});
	        Ext.get('myButton').on('click',function(){  
	            mw.show();             
	        });  
    	});
    });
        
})(); 
ux目录下的MyWin.js文件内容如下所示:

Ext.define('ux.MyWin',{
	extend:'Ext.window.Window', 
	title:'sign up',        
	width:400,               
	height:300              
});
注意:这里的文件名称MyWin和函数名称必须一样,我试验了一下,如果不一样也会造成无法显示。

刚开始我使用的方法是uspcat上的ExtJS4教学视频第二讲的写法进行书写,但是始终无法出现我想要的结果,可能是版本问题,也可能是自己的问题,通过这样修改,能够使用requires方法了。特此为记,供有相同困惑的人使用。


你可能感兴趣的:(ExtJS4学习)