DWZ框架学习
對象結(jié)構(gòu)圖如下:
DWZ最大的特點是使用html擴(kuò)展的方式來代替javascript代碼,而不是使用傳統(tǒng)的面向?qū)ο髞黹_發(fā)javascript庫;
html擴(kuò)展方式的特點,簡單、容易擴(kuò)展、基于jQuery;
javascript庫特點,思維方式更接近應(yīng)用程序,以組件的方式調(diào)用;但是實現(xiàn)復(fù)雜,擴(kuò)展不方便;
核心JS介紹:
dwz.core.js
提供了程序入口;
對jQuery做了針對DWZ的擴(kuò)展,基礎(chǔ)數(shù)據(jù)類型做了擴(kuò)展;
?
dwz.ui.js
提供了全局回調(diào)方法;
在DWZ初始化時候回調(diào)了全局方法initEnv(),做了界面初始化;其中,自定義插件可以在initUI()方法中擴(kuò)展;
?
dwz.ajax.js
提供了對ajax操作的全局工具方法;
?
dwz.regional.zh.js
提供了英文轉(zhuǎn)中文的語言漢化實現(xiàn);
?
常用組件列表:
1 鏈接(a)、對話框(dialog)、選項卡布局(navTab)組件
格式如下:
屬性說明:
target:
????ajax:發(fā)送ajax請求并返回到容器;
????ajaxTodo:在ajax基礎(chǔ)上增加一個選擇對話框(需要title屬性);
????navTab:返回到類似選項卡組件上;
????dialog:返回到對話框組件上;
????dwzExport:導(dǎo)出文件用;targetType(dialog,navTab)默認(rèn)是navTab;當(dāng)前的容器的pagerForm表單會一并提交;title指定提示信息;
rel:執(zhí)行調(diào)用者的指針(navTab與dialog默認(rèn)是_blank);重新刷新頁面可以使用rel屬性,也可以使用服務(wù)端返回json中的navTabId值來動態(tài)傳遞;
navTab相關(guān)屬性:
?fresh:表示重復(fù)打開navTab時是否重新加載數(shù)據(jù);默認(rèn)true;
?external:為external="true"或者h(yuǎn)ref是外網(wǎng)連接時,以iframe方式打開navTab頁面;
dialog相關(guān)屬性:
?Max:屬性表示此dialog打開時默認(rèn)最大化;
?mask:表示打開層后將背景遮蓋;
?maxable: 是否可最大化;
?minable: 是否可最小化;
?mixable: 是否可最大化 ;
?resizable: 是否可變大小;
?drawable: 是否可拖動 ;
?width: 打開時的默認(rèn)寬度 ;
?height: 打開時默認(rèn)的高度;
?width,height: 分別打開dialog時的寬度與高度;
?fresh: 重復(fù)打開dialog時是否重新載入數(shù)據(jù),默認(rèn)值true;
?close: 關(guān)閉dialog時的監(jiān)聽函數(shù),需要有boolean類型的返回值;
?param: close監(jiān)聽函數(shù)的參數(shù)列表,以json格式表示,例{msg:’message’};
callback:回調(diào)函數(shù);
?
2 面板(panel)組件
格式如下:
屬性說明:
close:關(guān)閉狀態(tài),默認(rèn);
collapse:可以折疊;
defH:高度(單位:px),默認(rèn)是實際高度;
minH:最小高度(單位:px);
?
3 選項卡面板(tabs)組件
格式如下:
屬性說明:
eventType,click:鼠標(biāo)單擊,hover:鼠標(biāo)移動;
currentIndex,默認(rèn)是0(0~n);
4 提示窗口
確認(rèn)提示框
alertMsg.confirm("您修改的資料未保存,請選擇保存或取消!", {
?okCall: function(){
??$.post(url, {accountId: accountId}, DWZ.ajaxDone, "json");
?},
?cancelCall : function() {}
});
成功提示框,alertMsg.correct('您的數(shù)據(jù)提交成功!')
錯誤提示框,alertMsg.error('您提交的數(shù)據(jù)有誤,請檢查后重新提交!', [options])
警告提示框,alertMsg.warn('您提交的數(shù)據(jù)有誤,請檢查后重新提交!', [options])
信息提示框,alertMsg.info('您提交的數(shù)據(jù)有誤,請檢查后重新提交!', [options])
options對象屬性:
okName:確定按鈕名稱;
okCal:確認(rèn)按鈕回調(diào);
cancelName:取消按鈕名稱;
cancelCall:取消按鈕回調(diào);
keyCode:鍵盤按鍵定義,參考DWZ.keyCode;
?
5 表格(table)
格式如下:
屬性說明:
layoutH:父div高度 - 當(dāng)前l(fā)ayoutH = 實際的高度,最小是50px;
6 表單提交
格式如下:
class:定義是否驗證表單;
onsubmit:提交時指定回調(diào)函數(shù),默認(rèn)調(diào)用DWZ.ajaxDone(json);若指定了提示信息,則會顯示提示信息;
內(nèi)置回調(diào)函數(shù):
navTabAjaxDone:選項卡方式時候的默認(rèn)回調(diào);都會先調(diào)用DWZ.ajaxDone(json),來顯示提示信息;
?callbackType="closeCurrent",關(guān)閉當(dāng)前窗口;
?callbackType="forward",重定向當(dāng)前窗口到forwardUrl;
?callbackType="forwardConfirm",提示confirmMsg,確定的話重定向到forwardUrl,否則關(guān)閉;
dialogAjaxDone:對話框方式時候的默認(rèn)回調(diào);都會先調(diào)用DWZ.ajaxDone(json),來顯示提示信息;
?callbackType="closeCurrent",關(guān)閉當(dāng)前窗口;
轉(zhuǎn)載于:https://www.cnblogs.com/donchen/p/4078448.html
總結(jié)