學習了MVVM模式
起先還覺得有點難,后面與雙向數據綁定鏈接起來還是很容易理解的。
那么什么是MVVM呢?
不明思議咋們肯定和我想的一樣 每個單詞的首寫字母唄!
對沒錯就是它 Model-View-ViewModel。 可以實現我們的雙向數據綁定
下面我來用我的理解解析下它們之間的關系:
哈哈 有點小尷尬哈
先來說下View與Model之間有聯系嗎?
在MVVM架構下,View 和 Model 之間其實并沒有直接的聯系,而是通過ViewModel進行交互,Model 和 ViewModel 之間的交互是雙向的, 因此View 數據的變化會同步到Model中,而Model 數據的變化也會立即反應到View 上。
好啦,說到這可能有些小伙伴會問view 什么,Model是什么?
Model 層代表數據模型,也可以在Model中定義數據修改和操作的業務邏輯;
View 代表UI 組件,它負責將數據模型轉化成UI 展現出來,ViewModel 是一個同步View 和 Model的對象。
Vue是以數據為驅動的,Vue自身將DOM和數據進行綁定,一旦創建綁定,DOM和數據將保持同步,每當數據發生變化,DOM會跟著變化。
現在明白了吧!
好啦 我們繼續談談它們三者之間的關系呀 它們之間是不是有個三角戀吶
哈哈 不錯
ViewModel 通過雙向數據綁定把 View 層和 Model 層連接了起來,ViewModel里面包含DOM Listeners和Data Bindings,DOM Listeners和Data Bindings是實現雙向綁定的關鍵。DOM Listeners監聽頁面所有View層DOM元素的變化,當發生變化,Model層的數據隨之變化;Data Bindings監聽Model層的數據,當數據發生變化,View層的DOM元素隨之變化。
mvvm有什么好處呢 當然這個肯定有好處的 不然學它干哈
1. 低耦合。View可以獨立于Model變化和修改,一個ViewModel可以綁定到不同的View上,當View變化的時候Model可以不變,當Model變化的時候View也可以不變。
2. 可重用性??梢园岩恍┮晥D的邏輯放在ViewModel里面,讓很多View重用這段視圖邏輯。
3. 獨立開發。開發人員可以專注與業務邏輯和數據的開發(ViewModel)。設計人員可以專注于界面(View)的設計。
4. 可測試性。可以針對ViewModel來對界面(View)進行測試
咋們一起走向vue之路吧
總結
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com