MVVM框架和jQuery的區別

1 一個MVVM框架和jQuery操作DOM節點有什麼區別?
JQ操作DOM節點是要用$符號對dom節點進行屬性改變,事件註冊,事件觸發,例如,

Hello, BatMan!

var name = 'Homer'; $('#name').text(name);

而,MVVM框架來實現同樣的功能,我們首先並不關心DOM的結構,而是關心數據如何存儲。最簡單的數據存儲方式是使用JavaScript對象:
var person = {
name: ‘BatMan’
}
我們把變量person看作Model,把HTML某些DOM節點看作View,並假定它們之間被關聯起來了。
要改變name的值,只需通過對象訪問屬性即可
person.name = ‘Homer’;
這讓我們的關注點從如何操作DOM變成了如何更新JavaScript對象的狀態,而操作JavaScript對象比DOM簡單多了!
這就是MVVM的設計思想:關注Model的變化,讓MVVM框架去自動更新DOM的狀態(例如,VUE會生成虛擬DOM,虛擬DOM可以看成對象,裏面有url和文本,孩子節點,而每當我們數據發生變化,生成的新的虛擬DOM會對比舊虛擬DOM,通過最小的代價(事件綁定,代理,DOM操作)來更新節點),從而把開發者從操作DOM的繁瑣步驟中解脫出來!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章