广州明生堂生物科技有限公司


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

网络编程 ExtJS4中的requires使用方法示例介绍 06-21
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方法了。特此为记,供有相同困惑的人使用。

ExtJS4中使用mixins实现多继承示例
在ExtJS4中使用mixins来实现多继承。具体例子代码如下:(function(){Ext.onReady(function(){Ext.define('say',{canSay:function(){alert("hello");}});Ext.define('eat',{caneat:function(){al

ExtJS的拖拽效果示例
htmlheadtitlehello/titlemetahttp-equiv="content-type"content="text/html;charset=utf-8"linkrel="Stylesheet"type="text/css"href="http:10.19.1.55/lib/extjs/resources/css/ext-all.css"/scripttype="text/jav

Extjs4中的分页应用结合前后台
前台部分:Ext.define('GS.system.role.store.RoleGridStore',{extend:'Ext.data.Store',model:'GS.system.role.model.RoleGridModel',id:'roleStoreId',pageSize:4,//分页大小proxy:{type:'ajax',url:'/gs


编辑:广州明生堂生物科技有限公司

标签:文件,加载,所示,分页,机制