在此首先感謝csdn的文順 網友,是他提醒了我需要寫這文的。
1getpath
:function(
classname)10
11path
=paths
[prefix];
12classname
=classname
.substring
(prefix
.length
+1);13
}1415if(
path
.length
>0)
1819
returnpath
.replace(/
///.
///g,'/')
+classname.replace(//./g,
"/")
+'.js';20}
,21從變數paths的定義可知,預設路徑儲存在loader物件的config物件的paths物件裡的,其預設配置如下:
1paths:4
也就是說,預設ext的載入路徑是根目錄。
**先使用getprefix方法獲取類名的字首,其**如下:
1getprefix
:function(
classname)8
9for(
prefixinpaths)14
}15}16
17returndeepestprefix;18
},19
1'my.
.user':
'../
/user.js
' 如果以上都不存在,則返回空字串。
回到getpath方法,如果返回的字首不是空字串,則檢查字首是否與型別相同,如果相同,從paths物件中取出路徑直接返回。否則取出字首的路徑,並把類名的字首部分去掉。
接著判斷路徑(path)是否存在,如果不存在,給路徑加乙個「/」。
最後把類名轉換為帶「.js」的檔名加上路徑返回。要注意的是,如果類名中還帶有「.」,那麼會將「.」轉換為「/」,也就是當成路徑的一部分。
要預設載入路徑,可使用loader物件的setpath方法。**很簡單,就是將配置物件的成員複製到paths路徑裡,在此就不講述了。
下面在瀏覽器中開啟extjs 4的api文件,然後在firebug控制台輸入以下命令:
1ext
.loader
.setpath()
6console
.dir
(ext
.loader
.config
.paths);
7 執行後,在控制台可看到以下輸出:
1ext
"./lib/src/"2
my""3
my.""
4 1.
//base.js
2.//
user.js
3.//
product.js
4./lib
/scr/ux
/plugin.js
5 現在的問題是外掛程式也要放到src目錄下,因而為了方便,你可以將外掛程式另外定義外掛程式的目錄,例如:
1ext
.loader
.setpath("
ext.ux",
"./lib/ux")
; 這樣就可以把外掛程式放到lib下的ux目錄了。
經過以上的設定,在onready方法前使用ext.require方法就可順利的載入庫檔案了,例如:
1ext
.loader
.setconfig()
;2ext.
loader
.setpath()
;8ext.
require([
9'my.
base',
10'my.
.user',
11'my.
.product',
12'ext.ux.
plugin'13
]);14
ext.
onready
(function())
;17**中,setconfig 方法設定eabled屬性的作用是開啟動態載入中的依賴載入功能。
ExtJS 4中動態載入的路徑設定
在此首先感謝csdn的文順 ,是他提醒了我需要寫這文的。1 getpath function classname 10 11 path paths prefix 12 classname classname substring prefix length 1 13 14 15if path leng...
ExtJS 4中動態載入的路徑設定
在此首先感謝csdn的文順 ,是他提醒了我需要寫這文的。1 getpath function classname 10 11 path paths prefix 12 classname classname substring prefix length 1 13 14 15 if path len...
ExtJS4載入FormPanel資料的幾種方式
我們做web應用最多的就是處理表單,extjs為我們提供了很多處理表單的功能,很多初學者疑惑怎麼載入表單資料,到底能用什麼方式載入?本文中,我將我自己實驗過的進行一下總結,自己備忘,也希望能幫助到其他人。1.使用loadrecord載入model資料。這也是我目前用的較多的。比如有個角色管理,定義如...