MVC是Model-View-Controller的缩写,用户操作->View(负责接收用户的输入操作)->Controller(业务逻辑处理)->Model(数据持久化)->View(将结果反馈给View)。
MVVM是Model-View-ViewModel的缩写,将“数据模型数据双向绑定”的思想作为核心,因此在View和Model之间没有联系,通过ViewModel进行交互,而且Model和ViewModel之间的交互是双向的,因此视图的数据的变化会同时修改数据源,而数据源数据的变化也会立即反应view。
区别:
1.mvvm数据双向绑定,而mvc各部分数据流通是单向的;
2.mvvm是真正将页面与数据逻辑分离放到js里去实现,而mvc里面未分离。