MVVM:Model-View-ViewModel,模型-视图-视图模型。Model指数据模型,View指视图,ViewModel是连接view和model的桥梁。ViewModel功能:
1.将模型转换为视图,即将数据模型的数据转化为所看到的页面。实现的方式是数据绑定。
2.将视图转换为模型,实现的方式是dom事件监听。
两个方向都实现我们称之为数据的双向绑定。
在MVVM的框架下视图和模型不直接通信,通过ViewModel来通信。ViewModel通常实现一个observer观察者,当数据变化后,其能监听到数据的变化并且通知对应的视图进行自动更新,而当用户操作视图时,ViewModel也能监听到这种变化并且通知数据做改动。
前端并没有传统意义上的MVC模式,过去为了解决浏览器兼容问题出现的类库如jQuery并没有实现对业务逻辑的分层,所以维护性和扩张性较差,而以前的文件缺乏正规的组织形式,因此出现MVVM。在vue中model指的是js数据,view指的是页面视图,viewmodel指vue实例化对象。