一:MVVM
1:什么是MVVM
- Model代表模型:用来修改数据和处理业务逻辑;
- View代表视图:是用户在屏幕上看到的结构、布局和外观(UI);
- ViewModel是视图模型:就是一个同步器,用来同步view和model的一个对象。在MVVM框架下,view和model之间是没有直接联系的,他们是通过ViewModel进行交互的。
2:MVVM模式
- MVVM是一种设计思想,实现了数据的双向绑定,当改变了model的数据,view会自动更新;改变view时,model的数据也会自动更新。(它是在单向绑定的基础上,给可输入元素input、textare等添加了input/change事件,通过触发事件来动态修改model)【v-model语法糖】
- ViewModel的实现原理是通过数据劫持(Object.defineProperty)【响应式】
- MVC中Controller(控制器)演变成MVVM中的ViewModel
- MVVM通过数据来显示视图层而不是节点操作
- MVVM主要解决了MVC中大量的dom操作使页面渲染性能降低,加载速度变慢,影响用户体验