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 相关文章推荐
js类中获取外部函数名的方法与代码
Sep 12 Javascript
artdialog的图片/标题以及关闭按钮不显示的解决方法
Jun 27 Javascript
js转义字符介绍
Nov 05 Javascript
JS中类或对象的定义说明
Mar 10 Javascript
7个让JavaScript变得更好的注意事项
Jan 28 Javascript
Angular 路由route实例代码
Jul 12 Javascript
基于Datatables跳转到指定页的简单实例
Nov 09 Javascript
vue+webpack实现异步组件加载的方法
Feb 03 Javascript
详解适配器在JavaScript中的体现
Sep 28 Javascript
微信小程序遍历Echarts图表实现多个饼图
Apr 25 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
Sep 28 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
Oct 30 Javascript
利用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
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
2014/07/15 PHP
php版本的cron定时任务执行器使用实例
2014/08/19 PHP
PHP记录搜索引擎蜘蛛访问网站足迹的方法
2015/04/15 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
显示、隐藏密码
2006/07/01 Javascript
jQuery 锚点跳转滚动条平滑滚动一句话代码
2010/04/30 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
js复制内容到剪贴板代码,js复制代码的简单实例
2016/10/27 Javascript
用jQuery实现圆点图片轮播效果
2017/03/19 Javascript
jQuery插件之validation插件
2017/03/29 jQuery
AngularJS中控制器函数的定义与使用方法示例
2017/10/10 Javascript
vue.js 实现评价五角星组件的实例代码
2018/08/13 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
vue实现图书管理系统
2020/12/29 Vue.js
[01:08:24]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第一场 2月5日
2021/03/11 DOTA
Python实现分割文件及合并文件的方法
2015/07/10 Python
在Python中实现shuffle给列表洗牌
2018/11/08 Python
Python定义函数时参数有默认值问题解决
2019/12/19 Python
Python3 读取Word文件方式
2020/02/13 Python
python自动点赞功能的实现思路
2020/02/26 Python
pandas 强制类型转换 df.astype实例
2020/04/09 Python
详解HTML5常用的语义化标签
2019/09/27 HTML / CSS
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
Java中各种基本数据类型的默认值都是什么
2016/12/22 面试题
机械工程师的岗位职责
2013/11/17 职场文书
公务员培训心得体会
2013/12/28 职场文书
2014年元旦联欢会活动策划方案
2014/02/16 职场文书
《在山的那边》教学反思
2014/02/23 职场文书
小学领导班子对照材料
2014/08/23 职场文书
爱心捐款活动总结
2015/05/09 职场文书
公文写作:教你写“建议书”
2019/05/07 职场文书
Python+Appium自动化测试的实战
2021/06/30 Python
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
2021/08/30 Python
关于MySQL中的 like操作符详情
2021/11/17 MySQL
十大好看的穿越动漫排名:《瑞克和莫蒂》第一,国漫《有药》在榜
2022/03/18 日漫