ExtJS4中的requires使用方法示例介紹
更新時(shí)間:2013年12月03日 17:29:28 作者:
ExtJS4的requires是新增的機(jī)制,主要是實(shí)現(xiàn)異步加載機(jī)制,在下面的文章總將為大家介紹下ExtJS4中的requires使用方法,需要的朋友不要錯(cuò)過(guò)
ExtJS4的requires是新增的機(jī)制,主要是實(shí)現(xiàn)異步加載機(jī)制。這樣在不點(diǎn)擊對(duì)應(yīng)的按鈕或者選項(xiàng)的時(shí)候就不會(huì)加載對(duì)應(yīng)的js文件,提高了加載速度和用戶等待時(shí)間。
requires機(jī)制的實(shí)現(xiàn)通過(guò)一個(gè)Ext.Loader.setConfig函數(shù)來(lái)設(shè)置文件尋找的映射目錄,然后在需要用到對(duì)應(yīng)js文件的時(shí)候使用Ext.require進(jìn)行加載。
文件的存儲(chǔ)結(jié)構(gòu)如下所示:
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文件,那么在加載該頁(yè)面的時(shí)候,并不會(huì)把MyWin.js文件同時(shí)加載進(jìn)來(lái),只是在需要的時(shí)候再加載。這里的需要是通過(guò)點(diǎn)擊button來(lái)實(shí)現(xiàn)的。
lesson22.js文件內(nèi)容如下所示:
(function(){
Ext.Loader.setConfig({
enabled:true, //開(kāi)啟異步加載模式
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文件內(nèi)容如下所示:
Ext.define('ux.MyWin',{
extend:'Ext.window.Window',
title:'sign up',
width:400,
height:300
});
注意:這里的文件名稱MyWin和函數(shù)名稱必須一樣,我試驗(yàn)了一下,如果不一樣也會(huì)造成無(wú)法顯示。
剛開(kāi)始我使用的方法是uspcat上的ExtJS4教學(xué)視頻第二講的寫(xiě)法進(jìn)行書(shū)寫(xiě),但是始終無(wú)法出現(xiàn)我想要的結(jié)果,可能是版本問(wèn)題,也可能是自己的問(wèn)題,通過(guò)這樣修改,能夠使用requires方法了。特此為記,供有相同困惑的人使用。
requires機(jī)制的實(shí)現(xiàn)通過(guò)一個(gè)Ext.Loader.setConfig函數(shù)來(lái)設(shè)置文件尋找的映射目錄,然后在需要用到對(duì)應(yīng)js文件的時(shí)候使用Ext.require進(jìn)行加載。
文件的存儲(chǔ)結(jié)構(gòu)如下所示:
ux文件夾和lesson2.htm和lesson22.js在相同的目錄下,而使用到的MyWin.js存放在ux的文件夾中。
在lesson2.html中的代碼如下所示:
復(fù)制代碼 代碼如下:
<!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文件,那么在加載該頁(yè)面的時(shí)候,并不會(huì)把MyWin.js文件同時(shí)加載進(jìn)來(lái),只是在需要的時(shí)候再加載。這里的需要是通過(guò)點(diǎn)擊button來(lái)實(shí)現(xiàn)的。
lesson22.js文件內(nèi)容如下所示:
復(fù)制代碼 代碼如下:
(function(){
Ext.Loader.setConfig({
enabled:true, //開(kāi)啟異步加載模式
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文件內(nèi)容如下所示:
復(fù)制代碼 代碼如下:
Ext.define('ux.MyWin',{
extend:'Ext.window.Window',
title:'sign up',
width:400,
height:300
});
注意:這里的文件名稱MyWin和函數(shù)名稱必須一樣,我試驗(yàn)了一下,如果不一樣也會(huì)造成無(wú)法顯示。
剛開(kāi)始我使用的方法是uspcat上的ExtJS4教學(xué)視頻第二講的寫(xiě)法進(jìn)行書(shū)寫(xiě),但是始終無(wú)法出現(xiàn)我想要的結(jié)果,可能是版本問(wèn)題,也可能是自己的問(wèn)題,通過(guò)這樣修改,能夠使用requires方法了。特此為記,供有相同困惑的人使用。
您可能感興趣的文章:
- Extjs grid添加一個(gè)圖片狀態(tài)或者按鈕的方法
- ExtJS[Desktop]實(shí)現(xiàn)圖標(biāo)換行示例代碼
- 解決Extjs上傳圖片無(wú)法預(yù)覽的解決方法
- ExtJs之帶圖片的下拉列表框插件
- ExtJS 4.2 Grid組件單元格合并的方法
- ExtJS4的文本框(textField)使用正則表達(dá)式進(jìn)行驗(yàn)證(Regex)的方法
- ExtJS4給Combobox設(shè)置列表中的默認(rèn)值示例
- ExtJS4如何自動(dòng)生成控制grid的列顯示、隱藏的checkbox
- ExtJS4 表格的嵌套 rowExpander應(yīng)用
- extJS中常用的4種Ajax異步提交方式
- extjs4 treepanel動(dòng)態(tài)改變行高度示例
- extjs4圖表繪制之折線圖實(shí)現(xiàn)方法分析
相關(guān)文章
ExtJS 2.0實(shí)用簡(jiǎn)明教程 之Border區(qū)域布局
Border布局由類(lèi)Ext.layout.BorderLayout定義,布局名稱為border。2009-04-04
Extjs4 關(guān)于Store的一些操作(加載/回調(diào)/添加)
本文詳細(xì)介紹下關(guān)于加載和回調(diào)的問(wèn)題、從一個(gè)store添加符合某條件記錄給另一個(gè)store中,感興趣的朋友可以參考下,希望對(duì)你有所幫助2013-04-04
Extjs中ComboBox加載并賦初值的實(shí)現(xiàn)方法
當(dāng)需要為ComboBox加載數(shù)據(jù)后進(jìn)行賦初始選中項(xiàng)的話,如果是寫(xiě)在store.load()之后2012-03-03
Extjs TimeField 顯示正常時(shí)間格式的代碼
由后臺(tái)返回的json的日期時(shí)間格式中,往往都是 類(lèi)似 "\/Date(1309200300000)\/"的日期時(shí)間格式,結(jié)果導(dǎo)致無(wú)法正常在TimeField中顯示2011-06-06
extjs grid取到數(shù)據(jù)而不顯示的解決
在使用extjs gridpanel時(shí),當(dāng)將數(shù)據(jù)載入時(shí),grid中的數(shù)據(jù)并沒(méi)有顯示出來(lái)。2008-12-12
常用Extjs工具:Extjs.util.Format使用方法
常用Extjs工具:Extjs.util.Format使用方法,需要的朋友可以參考下2012-03-03
extjs 時(shí)間范圍選擇自動(dòng)判斷的實(shí)現(xiàn)代碼
這篇文章主要介紹了extjs 時(shí)間范圍選擇自動(dòng)判斷的實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-06-06

