当前位置: 首页 > news >正文

MVVM和MVC的区别

首先,MVVM 和 MVC 都是一种设计模式

MVC
M(Model): 模型层。 用于处理应用程序数据逻辑的部分,模型对象负责在数据库中存取数据
V (View): 视图层。 处理数据显示的部分 ,视图 是 依据 模型数据 创建的
C (Controller): 控制层。 处理用户交互的部分,控制器接收用户的输入并调用模型和视图去完成用户需求。 控制器本身不输出任何东西和做任何处理,只是接受请求并决定调用哪个模型构建去处理请求,再确定用哪个视图来显示返回的数据
MVVM
M(Model):模型层
V(View): 视图层
VM(ViewModel):视图模型层连接view和model的桥梁。 因为Model层中的数据往往是不能直接跟View中的控件一一对应的,所以需要再定义一个数据对象专门对应view上的控件。ViewModel的职责就是把model对象封装成可以显示和接收输入的界面数据对象。

MVVM将数据双向绑定作为核心思想。也就是 View和Model之间没有联系,都要通过ViewModel这个桥梁来进行交互。

用户操作View,ViewModel能感知到变化,通知Model也发生相应改变;反之Model发生改变,ViewModel也能感知到变化,使View做出相应更新

MVVM可以解决MVC中大量DOM操作而使页面渲染性能降低,加载速度变慢的问题。 而与MVC最大的区别就是,它实现了View和Model的自动同步,当Model属性改变时,不用手动操作DOM元素,View会自动更新显示。

http://www.lryc.cn/news/30820.html

相关文章:

  • c++11 标准模板(STL)(std::unordered_map)(三)
  • OpenGL环境配置
  • SpringCloud之 Eureka注册中心
  • Linux入门篇-用户管理
  • G. Special Permutation(构造)
  • QML动态对象管理
  • cmake入门03 -自定义find外部库
  • Dubbo源码解析-——服务导出
  • vue+django+neo4j 基于知识图谱红楼梦问答系统
  • 2023年全国最新食品安全管理员精选真题及答案13
  • Keychron K7 Pro 轻薄矮轴机械键盘开箱体验
  • 加油站ai视觉识别系统 yolov7
  • 【电子学会】2022年12月图形化二级 -- 绘制风车
  • 【golang/go语言】Go语言代码实践——高复用、易扩展性代码训练
  • [数据结构与算法(严蔚敏 C语言第二版)]第1章 绪论(学习复习笔记)
  • 05_Pulsar的主要组件介绍与命令使用、名称空间、Pulsar的topic相关操作、Pulsar Topic(主题)相关操作_高级操作、
  • 我的终端怎么莫名卡死了?shell下ctrl+s的含义
  • 【Vue】Vue的简单介绍与基本使用
  • 网络知识篇
  • python 连接数据库
  • 一文讲明白一致性hash算法
  • Java分布式解决方案(一)
  • 设备树系统学习(二)设备树的节点和属性
  • 【数据结构】二叉树的基本操作中的一些易错点
  • 在线图书借阅网站( Python +Vue 实现)
  • 不平衡数据集的建模的技巧和策略
  • 3. 算法效率
  • 仪表放大器放大倍数分析-运算放大器
  • laravel8多模块、多应用和多应用路由
  • 【Java学习笔记】6.Java 变量类型