一、MVVM
1、定义
MVVM是Model - View - ViewModel的简写。即模型-视图-视图模型。
① Model:指后端传递的数据,如Object、Array等。
② View:指页面视图。
③ ViewModel:是mvvm模式的核心,是链接model和view的桥梁。它有两个方向:一是将模型转化成视图,即将后端传递的数据转化为所看到的页面。二是将视图转化成模型,即通过DOM事件监听将所看到的页面转化成后端数据。这两个方向都实现的我们称之为数据的双向绑定。(在vue中指vue实例化对象)
2、流程图
总结:在MVVM模式下,view与model之间是不能直接通信的,它们通过ViewModel来通信,ViewModel通常要实现一个observer观察者,当数据发生变化时,ViewModel能够监听到数据的这种变化,然后通知到对应的视图做自动更新,而当用户操作视图时,ViewModel也能监听到视图的变化,然后通知数据做改动,以此就实现了数据的双向绑定。
二、vue中数据双向绑定原理
1、原理
① 应用MVVM模式
② 使用Object.defineProperty改变对象属性的特征值&