來(lái)源:博客園 | 作者: | 日期:2022-01-18 09:16:18 | 閱讀: 7069
1、輕量級(jí)框架
只關(guān)注視圖層,是一個(gè)構(gòu)建數(shù)據(jù)的視圖集合,大小只有幾十kb
Vue.js通過(guò)簡(jiǎn)潔的API提供高效的數(shù)據(jù)綁定和靈活的組件系統(tǒng)
2、簡(jiǎn)單易學(xué)
國(guó)人開(kāi)發(fā),中文文檔,不存在語(yǔ)言障礙,易于理解和學(xué)習(xí)
3、雙向數(shù)據(jù)綁定
也就是所謂的響應(yīng)式數(shù)據(jù)綁定。這里的響應(yīng)式不是@media 媒體查詢中的響應(yīng)式布局,而是指vue.js會(huì)自動(dòng)對(duì)頁(yè)面中某些數(shù)據(jù)的變化做出同步的響應(yīng)。
也就是說(shuō),vue.js會(huì)自動(dòng)響應(yīng)數(shù)據(jù)的變化情況,并且根據(jù)用戶在代碼中預(yù)先寫好的綁定關(guān)系,對(duì)所有綁定在一起的數(shù)據(jù)和視圖內(nèi)容都進(jìn)行修改。而這種綁定關(guān)系,就是以input 標(biāo)簽的v-model屬性來(lái)聲明的,因此你在別的地方可能也會(huì)看到有人粗略的稱vue.js為聲明式渲染的模版引擎。
這也就是vue.js最大的優(yōu)點(diǎn),通過(guò)MVVM思想實(shí)現(xiàn)數(shù)據(jù)的雙向綁定,讓開(kāi)發(fā)者不用再操作dom對(duì)象,有更多的時(shí)間去思考業(yè)務(wù)邏輯。
4、組件化
在前端應(yīng)用,我們是否也可以像編程一樣把模塊封裝呢?這就引入了組件化開(kāi)發(fā)的思想。
Vue.js通過(guò)組件,把一個(gè)單頁(yè)應(yīng)用中的各種模塊拆分到一個(gè)一個(gè)單獨(dú)的組件(component)中,我們只要先在父級(jí)應(yīng)用中寫好各種組件標(biāo)簽(占坑),并且在組件標(biāo)簽中寫好要傳入組件的參數(shù)(就像給函數(shù)傳入?yún)?shù)一樣,這個(gè)參數(shù)叫做組件的屬性),然后再分別寫好各種組件的實(shí)現(xiàn)(填坑),然后整個(gè)應(yīng)用就算做完了。
5、視圖,數(shù)據(jù),結(jié)構(gòu)分離
使數(shù)據(jù)的更改更為簡(jiǎn)單,不需要進(jìn)行邏輯代碼的修改,只需要操作數(shù)據(jù)就能完成相關(guān)操作
6、虛擬DOM
現(xiàn)在的網(wǎng)速越來(lái)越快了,很多人家里都是幾十甚至上百M(fèi)的光纖,手機(jī)也是4G起步了,按道理一個(gè)網(wǎng)頁(yè)才幾百K,而且瀏覽器本身還會(huì)緩存很多資源文件,那么幾十M的光纖為什么打開(kāi)一個(gè)之前已經(jīng)打開(kāi)過(guò),已經(jīng)有緩存的頁(yè)面還是感覺(jué)很慢呢?這就是因?yàn)闉g覽器本身處理DOM也是有性能瓶頸的,尤其是在傳統(tǒng)開(kāi)發(fā)中,用JQuery或者原生的JavaScript DOM操作函數(shù)對(duì)DOM進(jìn)行頻繁操作的時(shí)候,瀏覽器要不停的渲染新的DOM樹(shù),導(dǎo)致頁(yè)面看起來(lái)非??D。
而Virtual DOM則是虛擬DOM的英文,簡(jiǎn)單來(lái)說(shuō),他就是一種可以預(yù)先通過(guò)JavaScript進(jìn)行各種計(jì)算,把最終的DOM操作計(jì)算出來(lái)并優(yōu)化,由于這個(gè)DOM操作屬于預(yù)處理操作,并沒(méi)有真實(shí)的操作DOM,所以叫做虛擬DOM。最后在計(jì)算完畢才真正將DOM操作提交,將DOM操作變化反映到DOM樹(shù)上。
7、運(yùn)行速度更快
像比較與react而言,同樣都是操作虛擬dom,就性能而言,vue存在很大的優(yōu)勢(shì)
蘭州網(wǎng)站建設(shè),甘肅制作網(wǎng)站,蘭州點(diǎn)石網(wǎng)絡(luò) 版權(quán)所有 ?2018-2024 隴ICP備12000250號(hào) 甘公網(wǎng)安備: 62010002000051