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