从mvvm 和 mvc的定义和作用上我是这么理解的:
mvvm 的定义是:mvvm是Model-View-ViewModel 的简写,即模型-视图-视图模型。模型(Model)指的是后端传递的数据。视图(View)指的是所看到的页面。视图模型(ViewModel)是 mvvm 模式的核心,它是连接 view 和 model 的桥梁。我们称之为数据的双向绑定。
mvc 的定义是:Model-View- Controller 的简写,即模型-视图-控制器。M 和 V指的意思和 MVVM 中的 M 和 V 意思一样。C 即 Controller 指的是页面业务逻辑。使用 MVC 的目的就是将 M 和 V 的代码分离。MVC 是单向通信。
mvvm 和 mvc的区别主要是:
Vue 数据驱动,通过数据来显示视图层而不是节点操作。 场景:数据操作比较多的场景,需要大量操作 DOM 元素时,采用 MVVM 的开发方式,会更加便捷,让开发者更多的精力放在数据的变化上,解放繁琐的操作 DOM 元素。
总而言之
MVC 和 MVVM 其实区别并不大。都是一种设计思想。主要就是 MVC 中Controller 演变成 MVVM 中的 viewModel,MVVM 主要解决了 MVC 中大量的 DOM 操作使页面渲染性能降低,加载速度变慢,影响用户体验。