MVVM是Model View和View-Model的缩写

Model:代表模型层,在Model层可以定义数据修改和操作业务逻辑

View:视图层,将数据模型转化成UI显示出来

View-Mode:视图模型层,监听数据改变和控制视图行为,处理用户交互,简单理解就是同步View和Model,连接View和Model

在MVVM这个架构下,View和Model 之间是没有直接联系的,通过View-Mode进行交互,Model和View-Mode之间的交互是双向的,因此View的数据变化会同步到Model中,Model数据改变也会立即反应到View上,View-Mode通过数据双向绑定把View和Model连接起来,而View和Model之间的同步工作是自动的,不需要人为干涉,因此开发者只需要操作业务逻辑,不需要手动操作DOM,不需要关注数据状态的同步问题,复杂的数据状态维护完全是由MVVM统一管理

总的来说,前端使用MVVM主要是为了使前端开发更加方便,因为MVVM提供了数据双向绑定,数据的双向绑定是由VM提供的,这种MVVM模式解决了数据的频繁更新

谈谈对MVVM的理解?相关推荐

  1. 谈谈对MVVM的理解

    谈谈对MVVM的理解 什么是MVVM 不管是MVC,MVP,或者MVVM,都是常见的软件架构设计模式(Architectural Pattern),它通过分离关注点来改进代码的组织方式.不同于设计模式 ...

  2. MVVM是什么?谈谈你对MVVM的理解?

    MVVM是什么?谈谈你对MVVM的理解? 我的理解MVVM它就是一种前端开发的架构模式,作用就是为了让前端业务逻辑和HTML代码更加分离.它的核心思想就是把每个页面分成了M(Model数据模型).V( ...

  3. [Vue][面试]谈谈你对MVC、MVP和MVVM的理解

    谈谈你对MVC.MVP和MVVM的理解 答题思路:此题涉及知识点很多,很难说清楚,说透彻,因为MVC,MVP这些我们前端程序员自己甚至都没用过.但是恰恰反映了前端这些年从无到有, 从有到优的变迁过程, ...

  4. Java面试之谈谈对Volatile的理解

    谈谈对Volatile的理解 Volatile在日常的单线程环境是应用不到的 Volatile是Java虚拟机提供的轻量级的同步机制(三大特性) 保证可见性 不保证原子性 禁止指令重排 可能这么说,还 ...

  5. 谈谈对this的理解

    谈谈对this的理解 什么是this 每个函数在被调用时都会创建一个执行上下文,这个上下文包含了变量环境.this.作用域链等,this就是执行上下文中的一个属性,他是在函数运行时进行绑定的,this ...

  6. 什么是面向对象?谈谈对面向对象的理解?

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.什么是面向对象?谈谈对面向对象的理解? 二.3大特征: 1.封装: 2.继承: 2.多态: 总结 一.什么是面向对象?谈 ...

  7. 案例挑战——MVVM框架理解和实践

    MVVM框架理解和实践 一.背景介绍 二. 什么是MVVM架构? 1.架构示意图 2.MVVM概念总结 3.实现VM的框架 三.通过案例来理解MVVM框架 1.没有使用MVVM架构的程序 2.使用了M ...

  8. 前端面试--谈谈你对MVVM的理解?如何回答

    1. 首先解释:MVVM是什么?干什么用的? 1:MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式.2:其核心是提供对View 和 ViewModel 的双 ...

  9. iOS进阶之架构设计MVVM的理解(3)

    iOS进阶之架构设计MVC(1) iOS进阶之架构设计MVP(2) 前言: 前两篇文章已经理解MVC.MVP的设计模式.特别是MVP,比较难以理解,不好把握.需要多多实践,对比.来优化P段,找到最适合 ...

最新文章

  1. R语言R原生及可视化包ggplot2绘制并排的箱图实战(Side-by-Side Boxplots)
  2. 用Spotlight on windows 实时监控Windows服务器性能
  3. 电感发出声音怎么解决_开关电源有“声音”可以这样解决-电源啸叫解决方案...
  4. Android 设备启动时,APP应用自启动
  5. trueOS能装linux软件,TrueOS 是什么
  6. Java 字符串性能对比
  7. python 编程环境 微信_微信开发之新浪SAE上配置WeRoBot微信机器人,python,Mac环境...
  8. JAVA-初步认识-第六章-类类型参数
  9. 判断一个树是否是平衡二叉树
  10. 吴昊品游戏核心算法 Round 5 —— (转载)十四步实现拥有强大AI的五子棋游戏...
  11. 对PID的理解及其实现公式
  12. java 8 list to map_Java8中list转map
  13. Nuxt.js mini聊天室开发 (mini-chatroom)
  14. 如何在Word中画横线?
  15. 微信小程序——车牌键盘组件实现
  16. 《软件工程》-用户界面设计
  17. Sencha touch 开发指南
  18. 好消息!想入深户的伙伴们赶紧看过来!
  19. 绿色石化高质量发展 茂名天源石化碳三碳四资源利用项目开工
  20. swagger初体验

热门文章

  1. python group() 和 groups()的区别
  2. 《小家,越住越大1、2》读书笔记
  3. APP软件的几种开发方式
  4. 国家列表 Country Code List
  5. 原来面试成功的程序员简历都是这样写的
  6. 悠易科技京东云联合解决方案发布会成功举办
  7. Android 自动亮度
  8. Spring Integration入门
  9. php与python进行数据交互
  10. 案例C语言在金融工程中应用,成功案例——跨专业申请美国金融工程硕士