
vue是什么?vue的優(yōu)點(diǎn)有哪些
1.組件化:
Vue將組成一個(gè)頁(yè)面的HTML,CSS和JS合并到一個(gè)組件中,可以被其他組件或頁(yè)面引入而重復(fù)利用。通常每個(gè).Vue文件作為一個(gè)組件導(dǎo)出,組件可以作為基礎(chǔ)組件(如按鈕)或一個(gè)頁(yè)面(如登錄頁(yè)面)。組件化很好的將一個(gè)龐大復(fù)雜的前端工程拆分為一個(gè)個(gè)組件,重復(fù)利用的性質(zhì)也大大提高了開發(fā)的效率。
2.MVVM雙向數(shù)據(jù)綁定:
MVVM模式(全稱為Model-View-ViewModel)為Vue實(shí)現(xiàn)數(shù)據(jù)雙向綁定。在MVVM中,View為視圖層,ViewModel為業(yè)務(wù)邏輯層,Model為數(shù)據(jù)層。
什么是數(shù)據(jù)雙向綁定呢?
當(dāng)用戶使View變化時(shí)(如填寫表單),變化會(huì)自動(dòng)同步到ViewModel處理相應(yīng)邏輯,并將變化更新到Model數(shù)據(jù)庫(kù)。 反之,若服務(wù)端數(shù)據(jù)變化(如股價(jià)波動(dòng)),變化會(huì)自動(dòng)同步到ViewModel處理相應(yīng)邏輯,并將變化同步到View展現(xiàn)給用戶。
在用Vue之前,完成HTML和JS之間的交互需要使用大量的DOM操作來實(shí)現(xiàn)動(dòng)態(tài)加載。MVVM的數(shù)據(jù)雙向綁定減少了DOM操作,更高效地實(shí)現(xiàn)了視圖和數(shù)據(jù)的交互。同時(shí),MVVM使界面、交互和數(shù)據(jù)層分離,便于設(shè)計(jì)人員負(fù)責(zé)設(shè)計(jì)界面,后端開發(fā)人員提供數(shù)據(jù)接口,而前端開發(fā)人員專注于業(yè)務(wù)交互邏輯的實(shí)現(xiàn)。
3.響應(yīng)式虛擬dom:
對(duì)于DOM來說,當(dāng)HTML的一個(gè)元素(如div)需要響應(yīng)數(shù)據(jù)更改時(shí),會(huì)刷新整個(gè)頁(yè)面,導(dǎo)致效率堪憂。 對(duì)于虛擬DOM,瀏覽器會(huì)將HTML文件轉(zhuǎn)換為JS文件并復(fù)制一個(gè)額外使用(虛擬)。對(duì)于任何更改,虛擬DOM都將復(fù)制的JS與原始JS進(jìn)行比較,只重新加載更改的部分,局部修改到真實(shí)DOM上。
在Vue中,每個(gè)綁定data屬性的組件都有一個(gè)Watcher檢測(cè)data屬性的變化。一旦檢測(cè)到改變,則重新渲染該組件,這就是響應(yīng)式。
1.生命周期:
最后,每個(gè)Vue組件都有生命周期,過程為創(chuàng)建 -> 掛載 -> 更新 -> 銷毀。開發(fā)者可以通過鉤子函數(shù)(如mounted)在組件生命周期中的不同時(shí)刻進(jìn)行操作。下面是一張Vue生命周期的完整圖解。
2.Vue的特點(diǎn):
(1) 輕量級(jí) Vue作為一款輕量級(jí)前端框架,大小只有18–21KB,工程搭建簡(jiǎn)單,只需要幾行命令符。因?yàn)閂ue使用的主體語(yǔ)言為JS,開發(fā)者可以靈活地將其他框架(如React和Angular)的項(xiàng)目遷移到Vue,具有很高的集成能力。Vue提供的router路由可以便捷地搭建一個(gè)多界面應(yīng)用。
(2) 高性能 虛擬DOM和響應(yīng)式避免了不必要的全局重新渲染,提升了用戶體驗(yàn),使用戶操作更加流暢。
(3) 好上手 與面向?qū)ο缶幊绦再|(zhì)類似,組件化更符合人類思維。打個(gè)比方,我們?cè)谠O(shè)計(jì)網(wǎng)頁(yè)時(shí),通常會(huì)把一個(gè)界面分成一塊一塊的、用于某功能的特定樣式模塊。Vue的組件化使前端開發(fā)更加容易理解,同時(shí)MVVM可以更便捷地實(shí)現(xiàn)交互,對(duì)新手十分友好。
(4) 插件化 由于Vue框架的流行性,目前有許多基于Vue的npm擴(kuò)展包和開發(fā)工具(如Vuex)。Vue可以在一個(gè)文件下統(tǒng)一管理所有外部插件的全局使用。
(5) 便于測(cè)試 組件化利于開發(fā)者對(duì)于單一組件進(jìn)行測(cè)試,很少發(fā)生在整個(gè)頁(yè)面下找不到是哪個(gè)地方報(bào)錯(cuò)的情況。
(6)運(yùn)行速度更快 像比較與react而言,同樣都是操作虛擬dom,就性能而言,vue存在很大的優(yōu)勢(shì)
(7)視圖,數(shù)據(jù),結(jié)構(gòu)分離 使數(shù)據(jù)的更改更為簡(jiǎn)單,不需要進(jìn)行邏輯代碼的修改,只需要操作數(shù)據(jù)就能完成相關(guān)操作
北京星誠(chéng)視野網(wǎng)絡(luò)科技有限公司 © 2008-2022 京ICP備09003513-1號(hào) 技術(shù)支持:北京網(wǎng)站建設(shè)公司 北京APP開發(fā)