更新時(shí)間:2022-09-22 來源:黑馬程序員 瀏覽量:
Vue(讀音/Vju:/,類似于View)是一套用于構(gòu)建用戶界面的漸進(jìn)式框架,與其他大型框架相比,Vue被設(shè)計(jì)為可以自底向上逐層應(yīng)用。其他大型框架往往一開始就對項(xiàng)目的技術(shù)方案進(jìn)行強(qiáng)制性要求,而Vue更加靈活,開發(fā)者既可以選擇使用Vue來開發(fā)一個(gè)全新項(xiàng)目,也可以將Vue引入到一個(gè)現(xiàn)有的項(xiàng)目中。
先說優(yōu)勢,目前市場三大Web前端主流框架分別是Angular、React和Vue。Vue之所以被開發(fā)者青睞,主要是Vue秉承了Angular和React框架兩者的優(yōu)勢,并且Vue的代碼簡潔、上手容易,在市場上也得到大量應(yīng)用,下面我們就對Vue的特性進(jìn)行簡單介紹。
Angular的學(xué)習(xí)成本高,使用起來比較復(fù)雜,而Vue相對簡單、直接,所以Vue使用起來更加友好。
Vue是一個(gè)MVVM框架,數(shù)據(jù)雙向綁定,即當(dāng)數(shù)據(jù)發(fā)生變化的時(shí)候,視圖也就發(fā)生變化,當(dāng)視圖發(fā)生變化的時(shí)候。數(shù)據(jù)也會跟著同步變化,這也算是Vue的精髓之處。尤其是在進(jìn)行表單處理的時(shí)候,Vue的雙向數(shù)據(jù)綁定非常方便。
指令主要包括內(nèi)置指令和自定義指令,以“v-”開頭,作用于HTML元素。指令提供了一些特殊的特性,將指令綁定在元素上時(shí),指令會給綁定的元素添加一些特殊的行為。例如,v-bind動態(tài)綁定指令、v-if條件渲染指令、v-for列表渲染指令等。
插件用于對Vue框架功能進(jìn)行擴(kuò)展,通過MyPlugin.install完成插件的編寫,簡單配置后就可以全局使用。常用的擴(kuò)展插件有vue-router、Vuex等。
Vue很多特性與Angular和React有著相同的地方,但是也有著性能方面的差別。
Vue使用基于依賴追蹤的觀察系統(tǒng)并且使用異步隊(duì)列更新,所有的數(shù)據(jù)都是獨(dú)立觸發(fā)的,提高了數(shù)據(jù)處理能力。
React和Vue的中心思想是一切都是組件,組件之間可以實(shí)現(xiàn)嵌套。React采用了特殊的JSX語法,Vue中也推崇編寫以*.vue后綴命名的文件格式,對文件內(nèi)容都有一些規(guī)定,兩者需要編譯后使用。
值得一提的是,React依賴虛擬DOM,而Vue使用的是DOM模板。Vue在模板中提供了指令、過濾器等,可以非常方便和快捷地操作DOM。推薦將Vue使用到具有復(fù)雜交互邏輯的前端應(yīng)用中,以確保用戶的體驗(yàn)效果。
基于Vue的SPA特性,首頁會全部加載CSS、JS這樣的數(shù)據(jù),遇到項(xiàng)目成一定體量的時(shí)候,白屏的時(shí)間會比較長。
SEO的全稱為Search Engine Optimization,也就是搜索引擎優(yōu)化。優(yōu)化的核心在于爬蟲發(fā)起抓取,抓取你網(wǎng)站的URL,得到網(wǎng)站的HTML代碼進(jìn)行解析。但是Vue的絕大部分?jǐn)?shù)據(jù)都是包含于JS代碼之中,言外之意,就單頁面的應(yīng)用來講,存在HTML在服務(wù)器端渲染不出數(shù)據(jù),在瀏覽器才能渲染出數(shù)據(jù),爬蟲請求收到的HTML沒有渲染數(shù)據(jù),就不利于搜索引擎優(yōu)化。