ExtJS4中的requires使用方法示例介绍
作者:
ExtJS4的requires是新增的机制,主要是实现异步加载机制,在下面的文章总将为大家介绍下ExtJS4中的requires使用方法,需要的朋友不要错过
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方法了。特此为记,供有相同困惑的人使用。
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 grid添加一个图片状态或者按钮的方法
- ExtJS[Desktop]实现图标换行示例代码
- 解决Extjs上传图片无法预览的解决方法
- ExtJs之带图片的下拉列表框插件
- ExtJS 4.2 Grid组件单元格合并的方法
- ExtJS4的文本框(textField)使用正则表达式进行验证(Regex)的方法
- ExtJS4给Combobox设置列表中的默认值示例
- ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
- ExtJS4 表格的嵌套 rowExpander应用
- extJS中常用的4种Ajax异步提交方式
- extjs4 treepanel动态改变行高度示例
- extjs4图表绘制之折线图实现方法分析