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

2021-08-25 20:33:55 字數 2412 閱讀 7598

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