ViewModel和Controller有什么区别?

vue.js属于MVVM框架,angularjs属于MVC框架对吗?从这个方面来看他们有什么区别?
MVVM中的VM和MVC框架中的C有着什么区别?

阅读 8.9k
2 个回答

简单的说,Controller所要担任的任务更加全面,包括了很多的业务逻辑。而ViewModel则简化甚至剔除了业务逻辑,主要的工作就只是把Model中的数据组装成适合View使用的数据。
相对于Vue来说,Angular确实算得上MVC框架。其实吧,对于前端来说,只需要很少甚至不需要业务逻辑,所以MVC这种后端设计结构其实并不适合。所以随着MVP、MVVM这种弱化业务逻辑的结构在前端领域变得越来越流行。

MVC
路由至控制器内,需要在控制器自己处理model(data), 然后进行重新渲染生成view(UI)

MVVM
数据驱动式,一旦model有变化, 其view(UI)就会改变.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题