天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

使用Dijit實(shí)現(xiàn)界面組件化開(kāi)發(fā)

  對(duì)于組件化的軟件工程設(shè)計(jì),很多開(kāi)發(fā)人員都比較熟悉。組件化的設(shè)計(jì)適合于復(fù)雜的軟件系統(tǒng)和團(tuán)隊(duì)協(xié)作開(kāi)發(fā)。把軟件系統(tǒng)劃分成若干個(gè)組件,組件之間通過(guò)預(yù)先定義好的接口和協(xié)議進(jìn)行通訊和協(xié)作,共同完成整個(gè)軟件系統(tǒng)的職責(zé)。團(tuán)隊(duì)中的開(kāi)發(fā)人員可以各自負(fù)責(zé)不同的組件。組件化的思想在桌面應(yīng)用和Web應(yīng)用后臺(tái)開(kāi)發(fā)中比較流行,相關(guān)的技術(shù)和實(shí)踐都比較成熟。

  而在Web應(yīng)用的前端部分,組件化一直進(jìn)展得比較緩慢。這其中的原因有很多,最主要的是Web應(yīng)用的前端在開(kāi)始的時(shí)候比較簡(jiǎn)單,沒(méi)有組件化和設(shè)計(jì)的必要。隨著Ajax應(yīng)用的流行,Web前端部分越發(fā)復(fù)雜,用戶對(duì)Web應(yīng)用的要求不斷向桌面應(yīng)用靠攏。HTML語(yǔ)言的基本界面元素不能單獨(dú)地滿足這樣的需求。菜單、樹(shù)形控件、對(duì)話框和進(jìn)度條等組件,在現(xiàn)在的Ajax應(yīng)用中十分常見(jiàn),但是并不是HTML默認(rèn)提供的。HTML 5規(guī)范中引入了一些新的元素,但還是不夠。組件化對(duì)于Web應(yīng)用本身的代碼共享和團(tuán)隊(duì)分工也是很有意義的。

  Web 應(yīng)用前端組件化的發(fā)展也是漸進(jìn)的。開(kāi)始的時(shí)候,只是一些簡(jiǎn)單的HTML、CSS加上JavaScript的代碼示例。比如當(dāng)需要實(shí)現(xiàn)一個(gè)多級(jí)菜單的時(shí)候,就下載相關(guān)的代碼示例,就根據(jù)自己的需要進(jìn)行修改。這樣的組件比較難以復(fù)用。后來(lái)JavaScript框架開(kāi)始流行的時(shí)候,有些框架本身就提供了組件的支持,包括Ext JS、jQuery UI和Dojo等。不過(guò)不同框架提供的組件模型不盡相同。

  Dijit組件模型概述

  Web 應(yīng)用的前端組件的定義比較寬泛。一個(gè)組件占據(jù)Web頁(yè)面上的某個(gè)區(qū)域,并負(fù)責(zé)完成某項(xiàng)具體的任務(wù)。Web組件有時(shí)候也被稱為小部件(widget)。在 Dijit組件模型中,一個(gè)Dijit組件是一個(gè)JavaScript類,可以在頁(yè)面上通過(guò)new操作符來(lái)創(chuàng)建組件的實(shí)例。每個(gè)組件實(shí)例都需要與頁(yè)面上的某個(gè)DOM元素綁定在一起。這個(gè)DOM元素就是該組件的根節(jié)點(diǎn)。在Dijit組件的邏輯中,就可以對(duì)該根節(jié)點(diǎn)進(jìn)行操縱來(lái)構(gòu)建用戶界面。組件 JavaScript類暴露出來(lái)的屬性和方法就是該組件的接口。

  Dijit組件的使用

  Dijit 組件的使用方式非常簡(jiǎn)單。首先需要在頁(yè)面上加載組件的JavaScript代碼,這通過(guò)dojo.require函數(shù)就可以完成。接著在頁(yè)面上找到或創(chuàng)建一個(gè)DOM元素作為該組件的根節(jié)點(diǎn)。最后通過(guò)new操作符創(chuàng)建即可。如new dijit.form.ComboBox({}, node)就可以用node作為根元素創(chuàng)建一個(gè)dijit.form.ComboBox組件,即一個(gè)下拉列表選擇框。可以看到創(chuàng)建Dijit組件的時(shí)候,使用了兩個(gè)參數(shù):第二個(gè)參數(shù)是組件的根元素,如果創(chuàng)建的時(shí)候不指定該根元素,會(huì)自動(dòng)創(chuàng)建一個(gè)新的DIV元素作為根元素。

  不過(guò)該新創(chuàng)建的根元素一般沒(méi)有加入到當(dāng)前的文檔樹(shù)中,可以通過(guò)組件的placeAt方法來(lái)設(shè)置該組件在頁(yè)面文檔樹(shù)中的位置。第一個(gè)元素則是一個(gè)JavaScript對(duì)象,包含了組件的配置屬性。通常來(lái)說(shuō),一個(gè)Dijit組件是可以復(fù)用的。因此一般都會(huì)提供一些屬性供使用者進(jìn)行配置。通過(guò)這個(gè)參數(shù),就可以修改這些配置。

  上面提到的是程序式的方式創(chuàng)建Dijit組件,還有另外的一種方式來(lái)進(jìn)行創(chuàng)建,即通過(guò)在HTML代碼中以聲明式的方式創(chuàng)建,如

<div dojoType="dijit.Dialog" id="myDialog" title="示例對(duì)話框">
<h3>對(duì)話框標(biāo)題</h3>
<div>對(duì)話框內(nèi)容</div>
</div>

NET技術(shù)使用Dijit實(shí)現(xiàn)界面組件化開(kāi)發(fā),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 伊人久久大香网 | 伊人不卡久久大香线蕉综合影院 | 亲嘴扒胸摸屁股视频免费网站 | AV福利无码亚洲网站麻豆 | 伊人青青久 | 中文字幕精品AV内射夜夜夜 | 日本工口生肉全彩大全 | 亚洲精品国产精麻豆久久99 | 欧美日韩亚洲综合2019 | 色老汉网址导航 | 护士的下面又湿又紧10P | 久久足恋网| 色戒未删减版在线观看完整 | 欧美Av无码高清在线 | 国产综合欧美区在线 | 午夜A级理论片左线播放 | 伊人久99久女女视频精品免 | 亚洲成人在线免费观看 | 国产AV精品无码免费看 | 在线亚洲精品国产一区麻豆 | 怪物高h粗暴无尽 | 国产精品内射久久久久欢欢 | 国产精品一库二库三库 | 成人短片迅雷下载 | 国内精品人妻无码久久久影院蜜桃 | a亚洲在线观看不卡高清 | 国产在线精品亚洲一品区 | 国产精品点击进入在线影院高清 | 久久精品人人做人人爽97 | 受被三个攻各种道具PLAY | 古月娜下面好紧好爽 | 性色欲情网站IWWW九文堂 | 秋霞鲁丝片Av无码 | 国产午夜精品久久久久婷婷 | 国产精品色吧国产精品 | 嫩草国产福利视频一区二区 | 国产一区日韩二区欧美三区 | 成人小视频在线观看 | 无码AV精品一区二区三区 | 亚洲国产女人aaa毛片在线 | 色呦呦导航 |