1. 什么是MVVM 不管是MVC,MVP,或者MVVM,都是常见的软件架构设计模式(Architectural Pattern),它通过分离关注点来改进代码的组织方式。
不同于设计模式(Design Pattern),只是为了解决一类问题而总结出的抽象方法,一种架构模式往往使用了多种设计模式。
MVVM,可以拆分为Model-View-ViewModel来理解:
- Model - 数据模型,可以对应到真实开发过程中的数据包
- View - 视图层,布局和外观,可以对应到真实开发中的 DOM结构
- ViewModel - 扮演“View”和“Model”之间的使者,帮忙处理 View 视图层的全部业务逻辑
2. 为什么使用MVVM框架要回答这个问题,我们需要对比一下,在使用MVVM框架之前,我们是如何完成前端交互的。
- 使用前,为了修改某个视图节点中的内容信息,我们需要频繁人为操作DOM,效率低下 var dom = document.querySelector('div'); dom.innerHTML = '张三丰'; dom.style.color = 'red';
- 使用后,当name数据发生变化的时候,视图区域的name自定触发更新,极大提高开发效率
{{name}}