面试 vue
什么是 mvvm?
MVVM 是 Model-View-ViewModel 的縮寫。mvvm 是一種設(shè)計(jì)思想。Model 層代表數(shù)據(jù)模型,也可以在 Model 中定義數(shù)據(jù)修改和操作的業(yè)務(wù)邏輯;View 代表 UI 組件,它負(fù)責(zé)將數(shù)據(jù)模型轉(zhuǎn)化成 UI 展現(xiàn)出來(lái),ViewModel 是一個(gè)同步 View 和 Model 的對(duì)象。
在 MVVM 架構(gòu)下,View 和 Model 之間并沒(méi)有直接的聯(lián)系,而是通過(guò) ViewModel 進(jìn)行交互,Model 和 ViewModel 之間的交互是雙向的, 因此 View 數(shù)據(jù)的變化會(huì)同步到 Model 中,而 Model 數(shù)據(jù)的變化也會(huì)立即反應(yīng)到 View 上。
ViewModel 通過(guò)雙向數(shù)據(jù)綁定把 View 層和 Model 層連接了起來(lái),而 View 和 Model 之間的同步工作完全是自動(dòng)的,無(wú)需人為干涉,因此開發(fā)者只需關(guān)注業(yè)務(wù)邏輯,不需要手動(dòng)操作 DOM, 不需要關(guān)注數(shù)據(jù)狀態(tài)的同步問(wèn)題,復(fù)雜的數(shù)據(jù)狀態(tài)維護(hù)完全由 MVVM 來(lái)統(tǒng)一管理。
mvvm 和 mvc 區(qū)別?
mvc 和 mvvm 其實(shí)區(qū)別并不大。都是一種設(shè)計(jì)思想。主要就是 mvc 中 Controller 演變成 mvvm 中的 viewModel。mvvm 主要解決了 mvc 中大量的 DOM 操作使頁(yè)面渲染性能降低,加載速度變慢,影響用戶體驗(yàn)。和當(dāng) Model 頻繁發(fā)生變化,開發(fā)者需要主動(dòng)更新到 View 。
vue 的優(yōu)點(diǎn)是什么?
- 低耦合。視圖(View)可以獨(dú)立于 Model 變化和修改,一個(gè) ViewModel 可以綁定到不同的"View"上,
總結(jié)
- 上一篇: 输入两个自然数min,max,计算、输出
- 下一篇: vue开发常用css,js(持续更新)