ExtJS4中的requires使用方法示例介绍


Posted in Javascript onDecember 03, 2013

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

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

文件的存储结构如下所示:
ExtJS4中的requires使用方法示例介绍 
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方法了。特此为记,供有相同困惑的人使用。

Javascript 相关文章推荐
jQuery Dialog 弹出层对话框插件
Aug 09 Javascript
自己写了一个展开和收起的多更能型的js效果
Mar 05 Javascript
JS实现图片横向滚动效果示例代码
Sep 04 Javascript
JavaScript中使用Callback控制流程介绍
Mar 16 Javascript
js获得当前系统日期时间的方法
May 06 Javascript
JS Ajax请求如何防止重复提交
Jun 13 Javascript
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
Sep 28 Javascript
JS实现利用两个队列表示一个栈的方法
Dec 13 Javascript
JavaScript展开操作符(Spread operator)详解
Jul 20 Javascript
Vue退出登录时清空缓存的实现
Nov 12 Javascript
ES6中的Javascript解构的实现
Oct 30 Javascript
详解Vue的列表渲染
Nov 20 Vue.js
利用JS进行图片的切换即特效展示图片
Dec 03 #Javascript
JavaScript伸缩的菜单简单示例
Dec 03 #Javascript
JS window对象的top、parent、opener含义介绍
Dec 03 #Javascript
javascript实现信息的显示和隐藏如注册页面
Dec 03 #Javascript
一个js控制的导航菜单实例代码
Dec 03 #Javascript
JS与C#编码解码
Dec 03 #Javascript
探讨jQuery的ajax使用场景(c#)
Dec 03 #Javascript
You might like
使用TinyButStrong模板引擎来做WEB开发
2007/03/16 PHP
PHP新手NOTICE错误常见解决方法
2011/12/07 PHP
PHP 第三节 变量介绍
2012/04/28 PHP
PHP系统命令函数使用分析
2013/07/05 PHP
PHP的基本常识小结
2013/07/05 PHP
PHP文件操作方法汇总
2015/07/01 PHP
PHP添加图片水印、压缩、剪切的封装类
2015/08/17 PHP
Yii框架日志记录Logging操作示例
2018/07/12 PHP
Laravel中错误与异常处理的用法示例
2018/09/16 PHP
php数组指针函数功能及用法示例
2020/02/11 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题
2007/01/09 Javascript
javascript实现json页面分页实例代码
2014/02/20 Javascript
jQuery控制网页打印指定区域的方法
2015/04/07 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
详解vue-router传参的两种方式
2018/09/10 Javascript
vue项目引入ts步骤(小结)
2019/10/31 Javascript
微信小程序实现上拉加载功能
2019/11/20 Javascript
[04:44]DOTA2英雄梦之声_第12期_矮人直升机
2014/06/21 DOTA
[52:06]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
[01:01:52]完美世界DOTA2联赛PWL S2 GXR vs Magma 第二场 11.25
2020/11/26 DOTA
python初学之用户登录的实现过程(实例讲解)
2017/12/23 Python
Python的多维空数组赋值方法
2018/04/13 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
mac系统下Redis安装和使用步骤详解
2019/07/09 Python
Python标准库shutil模块使用方法解析
2020/03/10 Python
Python接口测试结果集实现封装比较
2020/05/01 Python
如何在mac版pycharm选择python版本
2020/07/21 Python
Michael Kors香港官网:美国奢侈品品牌
2019/12/26 全球购物
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
索引覆盖(Index Covering)查询含义
2012/02/18 面试题
食品安全工作实施方案
2014/03/26 职场文书
2015年学雷锋活动总结
2015/02/06 职场文书
辞职信如何写
2015/02/27 职场文书
飞越疯人院观后感
2015/06/09 职场文书
Python 使用dict实现switch的操作
2021/04/07 Python
一篇文章带你复习java知识点
2021/06/28 Java/Android