dojo是個框架 ,是個js框架,現在除了這一點什麼都不知道,就這麼上手了。在標籤內寫這麼一點**:ps:不建議web初學者看我的筆記,這個要有一定積累才能看。
<body
>
<
h1 id
="greeting"
>hello
h1>
<
script
src=""
data-dojo-config
="async: true"
>
script
>
body
>
按下f12,沒報錯,算是用cdn引用成功了dojo。
如果f12報錯無法訪問dojo.js,請到bootcdn引用,現在暫時不自己開本地伺服器引用,以後再說。
自1.7起,dojo就啟動了amd非同步模組定義的支援,原因是為了更好地支援大型複雜web程式。
可見,dojo是乙個重量級框架。
算是載入了dojo.js這個檔案後的兩個入口吧,是兩個全域性函式:define和require
上面提及,dojo支援非同步模組定義了,那麼define就能定義乙個模組,而requie就能用你定義的模組。
——有關為什麼用define和require這種奇怪的寫法,請閱讀
通常,模組是乙個簡單的js檔案。
以下通過簡單的html dom操作來演示define和require,dojo中操作dom的模組是'dojo/dom', 'dojo/dom-construct'兩個。
demo
doctype html
>
<
html
>
<
head
>
<
meta
charset
="utf-8"
>
<
title
>tutorial: hello dojo!
title
>
head
>
<
body
>
<
h1 id
="greeting"
>hello
h1>
<
script
src=""
data-dojo-config
="async: true"
>
script
>
<
script
>
require(
['dojo/dom',
'dojo/dom-construct'],
function
(dom, domconstruct)
);script
>
body
>
html
>
我換掉了cdn引用,這樣會快一些。
可見html文字改變了,引用了dom和dom-construct兩個模組後,就能用dom.byid這個方法和domconstruct.place這個方法進行dom操作了。
**解釋
require有兩個引數。
第二個是**函式。**函式的引數就是以上引入的模組。**函式的引數的名字可以自定義,但是順序是和第乙個字串陣列的模組順序一致的。
由於amd機制和非同步操作,這就意味著,等待模組載入完成後,**函式才會正式運作,但是這是自動的,在後台自己做完一切。大可不必管交叉呼叫js檔案和模組的問題,amd機制自己會在後台完成模組之間的交叉呼叫問題。
理解非同步操作、js模組化,是dojo學習中相當重要的。與普通的js框架不同,dojo更合適開發複雜的大型web平台。
有興趣的同學可以學習一下es6的模組化程式設計,或者學習一下npm+webpack這種新型的後端寫法,node.js也是可以看看的。
目前只學到這裡,暫時還是雙擊開啟html檔案檢視**成果,下乙個筆記就要用本地伺服器開啟了,可以用iis,也可以用xampp,無所謂。
暫時等這種靜態寫法學完後,就試著用npm包管理機制寫一寫試試,混搭vue什麼的。
Dojo 1 x 筆記4 文字動畫效果
這個筆記,僅僅演示dojo fx模組的slideto 方法的簡單使用。有關該模組的用法,見api 有關dojo的動畫 效果,見頁面 效果 和 動畫 html部分同筆記3,js部分如下 如果不想看,直接抽取關鍵 fx.slideto play fx模組呼叫slideto方法,傳參是乙個object,o...
Dojo 1 x 筆記3 等待DOM載入完成
有的web頁面總是得等dom載入完成才能繼續執行功能,例如,待頁面dom載入完成後,才能在div上進行渲染圖形。dojo提供了這個功能的模組,叫domready,但是由於它很特殊,就在結尾加了個嘆號 這個例子很簡單,就直接在script裡寫js 了 html部分 h1 id greeting hel...
Dojo學習筆記1
一 dojo類包包括 dojo.collections 資料集合如 list,queue,set,stack,dictionary dojo.crypto 各種加密api如 blowfish,md5,rijndael,sha dojo.date 日期類,可以很方便的顯示各種日期格式 dojo.dnd...