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

MVVM分层思想

M:Model数据模型

V:View视图

VM:ViewModel视图模型

Vue也是借鉴了MVVM的思想

在Vue中,M就是data,V指挂载点,而Vue实例本身就是一个VM

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>初识MVVM分层思想</title><script src="../js/vue2/vue.js"></script>
</head><body><!--1. MVVM 是什么?M: Model (模型/数据)V: View (视图)VM: ViewModel (视图模型) - VM 是 MVVM 中的核心部分。(它起到一个非常重要的作用。)MVVM 是目前前端开发流行的并非常常见的开发架构模式。目前前端的大部分主流框架都实现了这个 MVVM 模型。例如 Vue、React 等。2. Vue 是基于 MVVM 吗?没有完全完全遵循 MVVM 模型,但是 Vue 的设计思想中受到了它的启发。Vue框架本身也是存在的 MVVM 思想的。3. MVVM 模型中为什么要将 Model 和 View 进行分离?为什么要分离?假如你使用传统的 JavaScript 代码写项目:在传统的项目中,我们经常使用 document.getElementById/view/等原生的操作 DOM 元素的 JS 代码。如果数据发生任意的改动,接下来我们需要编写大量操作 DOM 的代码。将 Model 和 View 分离之后,出现了一个 VM 层。这个 VM 层的责任活给做了。也就是说,当 Model 发生变化之后,VM 自动去更新 View。VM 自动去更新 Model。我们再也不需要编写操作 DOM 的 JS 代码了,开发效率提高了很多。--><!-- 容器 --><!-- View --><div id="app">消息:<input type="text" v-model="msg"></div><script>//Vue实例就是 VM   ViewModelnew Vue({el: '#app',//这个就是Modeldata: {msg: 'Hello Vue'}})</script>
</body></html>

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 图形学论文笔记
  • Qt WebSocket
  • 10款主流图纸加密软件大盘点(为图纸穿上隐形衣)
  • 幅频特性曲线分析及使用WPF绘制
  • 动手学深度学习7.7. 稠密连接网络(DenseNet)-笔记练习(PyTorch)
  • 供应链系统源码的关键技术是什么?
  • RTC碰到LXTAL低频晶振停振怎么办?
  • docker的前端部署1
  • 构建基于I2C与UART通信的智能嵌入式机械臂抓取系统,结合OpenCV技术进行高效物体识别与动作控制的综合解决方案(代码示例)
  • BaseCTF-web-Week1
  • shell脚本-采集容器内自定义端口tcp连接数并通过http接口推送到Prometheus
  • Qt中英文支持
  • Openresty 中 ngx.exit(403)的时候,给403页面的body中传递一个参数展示出来
  • 怎样快速搭建 Linux 虚拟机呢?(vagrant 篇)
  • unity3d拼图__附带资源
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • CSS 三角实现
  • DataBase in Android
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • Linux快速复制或删除大量小文件
  • Linux下的乱码问题
  • Linux中的硬链接与软链接
  • Meteor的表单提交:Form
  • mysql外键的使用
  • 浮动相关
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 微信支付JSAPI,实测!终极方案
  • 小程序开发中的那些坑
  • 一份游戏开发学习路线
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #QT 笔记一
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (Python第六天)文件处理
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (一)springboot2.7.6集成activit5.23.0之集成引擎
  • (转载)Linux网络编程入门
  • .describe() python_Python-Win32com-Excel
  • .NET 8 跨平台高性能边缘采集网关
  • .Net Core 生成管理员权限的应用程序
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .NET技术成长路线架构图
  • .NET建议使用的大小写命名原则