VUE2中的MVVM模式詳解
MVVM 模式
官方解釋:Vue 雖然沒有完全遵循 MVVM 模型,但是 Vue 的設(shè)計也受到了它的啟發(fā)。因此在文檔中經(jīng)常會使用 vm (ViewModel 的縮寫) 這個變量名表示 Vue 實(shí)例。
什么是 MVVM 模式?
MVVM 是一種新的開發(fā)模式,對比傳統(tǒng)模式,例如我們要更新 DOM ,一般都是通過 JavaScript 處理數(shù)據(jù)然后操作 DOM API 將數(shù)據(jù)渲染到頁面上。后續(xù)每一次修改數(shù)據(jù)后,都要重新調(diào)用 DOM API 進(jìn)行數(shù)據(jù)渲染。當(dāng)用戶操作表單信息后,也要將數(shù)據(jù)同步到 JavaScript 數(shù)據(jù)中,這一系列操作將會變得很繁瑣。而在 MVVM 模式中,我們只要關(guān)心數(shù)據(jù)層面,而不需要關(guān)心渲染邏輯層面,假設(shè)我們修改 JavaScript 中的數(shù)據(jù)后,Vue 會自動實(shí)時將數(shù)據(jù)渲染到頁面上,當(dāng)我們操作視圖中表單的數(shù)據(jù)時,Vue 也會實(shí)時的將數(shù)據(jù)同步到 JavaScript,并不需要我們自己手動調(diào)用操作 DOM API 的一系列操作。
MVVM 主要分為 Model、View、ViewModel 三者
- Model:代表數(shù)據(jù)模型,數(shù)據(jù)和業(yè)務(wù)邏輯都在 Model 層中定義
- View:代表 UI 視圖,負(fù)責(zé)數(shù)據(jù)的展示
- ViewModel:負(fù)責(zé)監(jiān)聽 Model 中數(shù)據(jù)的改變并且控制視圖的更新
MVVM 模式簡化了界面與業(yè)務(wù)的依賴,解決了數(shù)據(jù)頻繁更新。MVVM 在使用當(dāng)中,利用雙向綁定技術(shù),使得 Model 變化時,ViewModel 會自動更新,而 ViewModel 變化時,View 也會自動變化。
以下通過代碼的方式進(jìn)行了解 Model、View、ViewModel
<template> <div id="app">{{ message }}</div> </template>
在 template 中的代碼就相當(dāng)于 View 視圖層
const app = new Vue({ el: '#app', data: function () { return { message: 'Hello Vue!' } } })
其中選項 data 就是 Model 數(shù)據(jù)層,而 new Vue 則是 ViewModel 控制層,負(fù)責(zé)監(jiān)聽數(shù)據(jù)層發(fā)生變化,更新視圖層。監(jiān)聽視圖層發(fā)生變化更新數(shù)據(jù)層。
以上就是VUE2中的MVVM模式詳解的詳細(xì)內(nèi)容,更多關(guān)于VUE2 MVVM模式的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用elementUI表單校驗(yàn)函數(shù)validate需要注意的坑及解決
這篇文章主要介紹了使用elementUI表單校驗(yàn)函數(shù)validate需要注意的坑及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06vue Draggable實(shí)現(xiàn)拖動改變順序
這篇文章主要為大家詳細(xì)介紹了vue Draggable實(shí)現(xiàn)拖動改變順序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04FastApi+Vue+LayUI實(shí)現(xiàn)前后端分離的示例代碼
本文主要介紹了FastApi+Vue+LayUI實(shí)現(xiàn)前后端分離的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11elementui?el-upload一次請求上傳多個文件的實(shí)現(xiàn)
使用ElementUI?Upload的時候發(fā)現(xiàn)如果是默認(rèn)方案,上傳多張圖片并不是真正的一次上傳多張,本文就來介紹一下elementui?el-upload一次請求上傳多個文件的實(shí)現(xiàn),具有一定的參考價值,感興趣的可以了解一下2023-10-10仿照Element-ui實(shí)現(xiàn)一個簡易的$message方法
這篇文章主要介紹了仿照Element-ui實(shí)現(xiàn)一個簡易的$message方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09