ExtJS4中的requires使用方法

原创 2013年12月03日 10:27:19

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

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

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


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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>extjs4 desktop</title>
	<!-- css -->
    <link rel="stylesheet" type="text/css" href="../../extjs4/resources/css/ext-all.css" />
    
    <script type="text/javascript" src="../../extjs4/bootstrap.js"></script>
    <script type="text/javascript" src="lesson22.js"></script>
</head>
<body>
    <button id="myButton" align="center">show</button>
</body>
</html>

在该代码片中,并未加载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方法了。特此为记,供有相同困惑的人使用。


相关文章推荐

ExtJs 4.x 学习小记:Ext.require动态加载js文件

一般我们在网页中中引用html或jsp文件,都是在
  • bdmh
  • bdmh
  • 2014年04月18日 15:54
  • 13879

[Sencha ExtJS & Touch] Ext类结构中的requires和uses

Ext.define类的时候,如果需要用到其它的类,需要在requires中包含进来,类似于C#的using 或者java的import。 Extjs 4 开始,还多了一个uses (sencha ...

Extjs的Requiers作用

有的时候项目中要写一些扩展组件,随着扩展组件的增加,会造成有的页面需要使用,而有的页面不需要使用的问题,这对组件的js文件的引用造成了烦恼:如果每个页面都去引用的时候会造成浏览器打开页面的流量的增加而...

c#多线程,原理和常用方法

一、什么是多线程 线程:是可与其他指令序列并发的一个指令序列。 多线程:允许多个序列同时执行的程序。 操作系统通过时间分片的机制模拟多个线程并发运行。利用时间分片技术操作系统能以极快的速度从一个线...
  • Scalzdp
  • Scalzdp
  • 2014年02月27日 14:30
  • 5719

跟我一起学extjs5(09--自定义菜单2)

跟我一起学extjs5(09--自定义菜单2)         这一节来定
  • jfok
  • jfok
  • 2014年07月02日 14:03
  • 16752

ExtJs4学习笔记(五) comboBox使用方法及扩展

基础用法下拉grid下拉树

extjs4 searchField的使用方法 及 remodeFiter 未定义问题的解决

先来看看效果吧,有点不好的地方就是只能由一个查询参数,不过有需求的话可以自己另设一个from表单来装查询参数 Js部分 1、在使用searchField的地方先设置这个插件的路...

ExtJS的使用方法汇总4——拖放以及弹出窗口

本章主要简单介绍下拖放以及弹出窗口的简单应用。 一、拖放 拖放在EXT的组件体系中占有很重要的地位,很多组件内部都封装了对拖放功能的实现,本节主要讨论拖放的组件结构和范例,重点是单独使用Ext.d...

Extjs+Gride使用方法

  • 2012年06月01日 12:36
  • 667KB
  • 下载

ExtJS的使用方法汇总6——工具栏和菜单

菜单的种类很多,包括下拉菜单、分组菜单、右键菜单等等,右键菜单与Window桌面上单击右键弹出的菜单效果一样,只是样式不同,菜单上的内容包括文字、单选框、按钮等。对于EXT来说,这些菜单的实现都非常简...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ExtJS4中的requires使用方法
举报原因:
原因补充:

(最多只允许输入30个字)