Vue中MVVM和MVC区别,这是Vue面试的一个概念题。

MVVM

MVVC是Model-View-ViewModel缩写,一般而言MVVM常用于前端开发框架,其核心思想是数据的双向绑定

  • View改变了同时更新Model
  • Model改变了同时更新View

而这之间的桥梁是通过ViewModel实现的。如图所示:

MVVM

MVC

MVC是Model-View-Controller的缩写,一般而言MVC常用于后端开发,其核心思想是单向数据的传递,其中

  • Model是模型,用于封装业务系统的相关数据和处理的方法。
  • View是视图,用于渲染页面。
  • Controller是控制器,用于接收数据,控制跳转。如图所示

MVC

区别

由上可知,MVC和MVVM的主要区别是

  • 数据的传递的方式不一样,MVC是单向数据传递,MVVM是双向数据绑定
  • 应用的场景不一样。MVC应用于后端开发,MVVM应用于前端开发。