现在是市面上使用MVVM模型越来越多,相关的前端框架的选择也相应增多。

那么什么是MVVM模型,它和传统MVC模型有什么区别,接下来我们来总结探讨一下。

MVVM即Model-View-ViewModel的简写。即模型-视图-视图模型。模型(Model)指的是后端传递的数据。视图(View)指的是所看到的页面。视图模型(ViewModel)是mvvm模式的核心,它是连接view和model的桥梁。它有两个方向:一是将模型(Model)转化成视图(View),即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。二是将视图(View)转化成模型(Model),即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件监听。这两个方向都实现的,我们称之为数据的双向绑定。

MVC是Model-View- Controller的简写。即模型-视图-控制器。M和V指的意思和MVVM中的M和V意思一样。C即Controller指的是页面业务逻辑。使用MVC的目的就是将M和V的代码分离。MVC是单向通信。也就是View跟Model,必须通过Controller来承上启下。MVC和MVVM的区别并不是VM完全取代了C,只是在MVC的基础上增加了一层VM,只不过是弱化了C的概念,ViewModel存在目的在于抽离Controller中展示的业务逻辑,而不是替代Controller,其它视图操作业务等还是应该放在Controller中实现。也就是说MVVM实现的是业务逻辑组件的重用,使开发更高效,结构更清晰,增加代码的复用性。

VUE官方,也介绍了MVVM模型相关框架(如Vue 、 React、AngularJS、Knockout、Polymer等)的对比优缺点,可以参考,https://cn.vuejs.org/v2/guide/comparison.html

最新文章

  1. The MESI Protocol
  2. html_01之基础标签
  3. php5调用web service
  4. 怎么查询电脑ip地址
  5. oracle 11g ORA-12541: TNS: 无监听程序 (DBD ERROR: OCIServerAttach)
  6. Linux 性能检测 - CentOS 安装 paramon
  7. MVC-简单验证码制作
  8. FFMPEG视音频编解码零基础学习方法-b
  9. COJ 0580 4021征兵方案
  10. 自定义蜘蛛网图 NetView
  11. asp.net core系列 44 Web应用 布局
  12. layui布局器网站工具
  13. Linux知识扩展二:lsof命令
  14. gitlab图形化使用教程 (mtm推荐)
  15. SAP 汇率处理总结
  16. javascript:图片转base64
  17. 第75讲:模式匹配下的For循环
  18. 本科毕业平均年薪 30 万!经济寒冬挡不住 AI 人才的火热!
  19. 团队-Forward-团队一阶段互评
  20. 【文文殿下】洛谷P2408 不同子串个数

热门文章

  1. dos 下小tip
  2. 377 Combination Sum IV 组合之和 IV
  3. leetcode516 Longest Palindromic Subsequence
  4. 用Python利用pyFirmata控制Arduino实现Blink
  5. [Windows Server 2003] 手工创建安全网站
  6. .ai域名注册已经极具投资价值进入火爆期
  7. Vue指令7:v-model
  8. 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。
  9. scala学习(1)----map和flatMap的区别
  10. 一只小蜜蜂(hdoj 2044,动态规划递推)