vue
vue 是一個(gè)以數(shù)據(jù)驅(qū)動(dòng)視圖的輕量級(jí)漸進(jìn)式 MVVM 框架昂勒。
vue 不用直接操作 dom,而是用數(shù)據(jù)來控制元素的變化囚痴。
vue優(yōu)點(diǎn)(模塊化開發(fā)叁怪,組件復(fù)用,開發(fā)效率快)
(1)輕量級(jí)的框架+指令:
它通過雙向數(shù)據(jù)綁定把 View 層和 Model 層連接了起來.實(shí)際的 DOM 封裝和輸出深滚。
(2)雙向數(shù)據(jù)綁定:
當(dāng)數(shù)據(jù)發(fā)生變化的時(shí)候奕谭,視圖也就發(fā)生變化,當(dāng)視圖發(fā)生變化的時(shí)候痴荐,數(shù)據(jù)也會(huì)跟著
同步變化血柳。
(3)組件化開發(fā):
就是把頁面拆分成多個(gè)組件,每個(gè)組件依賴的 CSS生兆、JS难捌、模板、圖片等資源放在一起
開發(fā)和維護(hù)鸦难。
(4)單頁面路由:
單頁是把原本的多個(gè)頁面以組件的形式集成在一個(gè)頁面中,頁面跳轉(zhuǎn)時(shí)由 vue 路由到目
標(biāo)頁面根吁,分別加載不同的組件,而頁面不會(huì)刷新合蔽,路由在更新
(5)虛擬 dom:
在 Vue 的底層實(shí)現(xiàn)上, Vue 將模板編譯成虛擬 DOM 渲染函數(shù)击敌。結(jié)合 Vue 自帶的響應(yīng)
系統(tǒng),在狀態(tài)改變時(shí) ,Vue 能夠智能地計(jì)算出重新渲染組件的最小代價(jià)并應(yīng)到 DOM
操作上拴事。
(6)漸進(jìn)式框架:
我們可以只用 vue 中一小部分去開發(fā)沃斤,而不是說用了 vue 就必須全部使用 vue 的語法圣蝎。可以讓我們慢慢的一點(diǎn)點(diǎn)的接受 vue 開發(fā)項(xiàng)目衡瓶。
也就是用你想用或者能用的功能特性徘公,不想用的部分功能可以先不用,來完成一個(gè)開發(fā)哮针。
(7)數(shù)據(jù)和結(jié)構(gòu)的分離:
最小力度更新关面,vue 每次更新會(huì)進(jìn)行虛擬 dom 和屏幕已有 dom 對(duì)比,只更新有變化
的部分诚撵,性能更高
(8)插件化:
插件的功能范圍沒有嚴(yán)格的限制缭裆,滿足大多插件可以和 vue 配合一起使用键闺。
vue的缺點(diǎn)
(1)首屏加載速度沒有靜態(tài)頁面快寿烟,
(2)因?yàn)?dom 都是 js 生成的,導(dǎo)致 seo 爬蟲不友好辛燥,頁面被爬取的機(jī)率特別小筛武。
(3)因?yàn)槭菃雾撁鎽?yīng)用,不利于 seo 優(yōu)化