mvvm 和 mvc 都是前端开发的一种框架模式,mvvm 是在 mvc 中延伸出来的一种新的模式. mvvm : 是Model-View-ViewModel 的简写,即模型-视图-视图模型,通过数据的双向绑定来实现数据驱动视图, 从而减少了mvc 中频繁的对DOM 树的操作导致的对性能的损耗、对页面加载速度的延缓和对用户体验的影响. mvc : 是Model-View-Controller 的简写,即模型-视图-控制器,mvc 的目的是将模型与视图分离,它们之间的通信是单向的,必须通过 Controller 来承上启下. 使用场景 : 数据开发较多的场景,需要大量操作 DOM 树的时候,采用 mvvm 的开发模式, 更高效 快捷,结构更清晰,代码的复用性更高. ViewModel 存在的目的在于抽离 Controller 中展示的业务逻辑,而不是替代 Controller, 其他视图操作业务还是应该放在 Controller中实现,也就是说 ViewModel 实现的是业务逻辑组件的重用.