在此首先感謝csdn的文順 網友,是他提醒了我需要寫這文的。
1 getpath
:function(
classname
)10
11 path
=paths
[prefix];
12 classname
=classname
.substring
(prefix
.length
+1)
;13
}14
15if
(path
.length
>
0)
18 19
return
path
.replace(/
///.
///g,'/')
+classname.replace(//./g,
"/")
+'.js';
20 }
,21
從變數paths的定義可知,預設路徑儲存在loader物件的config物件的paths物件裡的,其預設配置如下:
1 paths:4
也就是說,預設ext的載入路徑是根目錄。
**先使用getprefix方法獲取類名的字首,其**如下:
1 getprefix
:function(
classname)8
9for
(prefix
in
paths
)14
}15
}16
17return
deepestprefix
;18 },
19 1 'my
..user':
'../
/user.js
' 如果以上都不存在,則返回空字串。
回到getpath方法,如果返回的字首不是空字串,則檢查字首是否與型別相同,如果相同,從paths物件中取出路徑直接返回。否則取出字首的路徑,並把類名的字首部分去掉。
接著判斷路徑(path)是否存在,如果不存在,給路徑加乙個「/」。
最後把類名轉換為帶「.js」的檔名加上路徑返回。要注意的是,如果類名中還帶有「.」,那麼會將「.」轉換為「/」,也就是當成路徑的一部分。
要預設載入路徑,可使用loader物件的setpath方法。**很簡單,就是將配置物件的成員複製到paths路徑裡,在此就不講述了。
下面在瀏覽器中開啟extjs 4的api文件,然後在firebug控制台輸入以下命令:
1 ext
.loader
.setpath()
6 console
.dir
(ext
.loader
.config
.paths);
7 執行後,在控制台可看到以下輸出:
1 ext
"./lib/src/"2
my""3
my.""
4 1 ./
/base.js
2 .//
user.js
3 .//
product.js
4 ./lib
/scr/ux
/plugin.js
5 現在的問題是外掛程式也要放到src目錄下,因而為了方便,你可以將外掛程式另外定義外掛程式的目錄,例如:
1 ext
.loader
.setpath("
ext.ux",
"./lib/ux")
; 這樣就可以把外掛程式放到lib下的ux目錄了。
經過以上的設定,在onready方法前使用ext.require方法就可順利的載入庫檔案了,例如:
1 ext
.loader
.setconfig()
;2 ext.
loader
.setpath()
;8 ext.
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的文順 ,是他提醒了我需要寫這文的。1getpath function classname 10 11path paths prefix 12classname classname substring prefix length 1 13 1415if path length 0...
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資料。這也是我目前用的較多的。比如有個角色管理,定義如...