ExtJS 4中動態載入的路徑設定

2021-09-05 06:36:34 字數 2253 閱讀 3452

在此首先感謝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資料。這也是我目前用的較多的。比如有個角色管理,定義如...