位置: IT常识 - 正文

Vue--》MVVM模型在Vue中的使用(vue的mvvm模型)

编辑:rootadmin
Vue--》MVVM模型在Vue中的使用

推荐整理分享Vue--》MVVM模型在Vue中的使用(vue的mvvm模型),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue mvc,简述vue的mvvm模型,vue mvc,vue中的v-model,vue的mvvm模型,vue mvc,vue的mvvm模型,vue的mvm,内容如对您有帮助,希望把文章链接给更多的朋友!

目录

理解MVVM模型

什么是 MVVM 模型

MVVM的组成部分

Vue中的实现

MVVM模型在 Vue 中的应用

理解MVVM模型

我们知道每一个 Vue 应用都是从创建一个新的实例开始的,根据 Vue2 的官方文档我们可以得知 Vue 的设计是得到了 MVVM 模型 的启发,所以就有了在我们创建 Vue 实例时,文档中经常使用vm这个变量名来表示 Vue 实例。

什么是 MVVM 模型

我们知道了 Vue 借鉴了 MVVM模型的原理,但是我们只知道借鉴这件事,却不知道什么是MVVM模型,这里简单说明一下什么是 MVVM 模型。

MVVM (Model-View-ViewModel) 就是将其中的 View 的状态和行为抽象化,MVVM 模式和 MVC 模式一样,主要目的是分离视图和模型,MVVM 旨在利用 WPF 中的数据绑定函数,通过从视图层中几乎删除所以 GUI 代码,更好地促进视图层开发与模式其余部分的分离,不需要用户体验开发人员编写 GUI 代码,他们可以使用框架标记语言,并创建到应用程序开发人员编写和维护的视图模型的数据绑定。如下图所示:

MVVM模型主要是为了分离视图(View)和模型(Model),其优点为:低耦合、可重用性、独立开发以及可测试。 视图和模型分离的特点给了 Vue 很大的启发。

MVVM的组成部分

在 MVVM 模式中的组成部分分为以下四种:

Model(模型):代表真实状态的内容,即数据访问层(包含数据实体以及数据实体的操作)

View(视图):用户能在屏幕上看到的结构、布局和外观,负责数据显示以及交互方面

Vue--》MVVM模型在Vue中的使用(vue的mvvm模型)

ViewModel(视图模型):暴露公共属性和命名的视图的抽象,将Model和View进行绑定,两者在进行数据更改时能实时刷新。ViewModel能够观察到数据的变化,并对视图对应的内容进行更新;ViewModel能够监听到视图的变化,并能够通知数据发生变化。

绑定器:在视图模型中,在视图与数据绑定器之间进行通信。

Vue中的实现

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

所以说得到MVVM模型启发的Vue,其核心就是实现了DOM监听与事件绑定,如下一个经典图例:

MVVM模型在 Vue 中的应用

举一个简单的 Vue 案例,来说明 MVVM 的主要三种组成部分在 Vue 中分别代表什么,如下:

<body> <div id="id"> <h1>姓名:{{name}}</h1> <h1>国籍:{{address}}</h1> </div> <script> Vue.config.productionTip = false; //阻止 vue 在启动时生成生产提示 const vm = new Vue({ data:{ name:'张三', address:'中国' } }) vm.$mount('#id') console.log(vm); </script></body>

Model:模型层,data里面的数据,表示JS的对象

View:视图层,HTML内容部分,表示HTML中能操作的DOM元素

ViewModel:充当连接视图和数据的中间人,即就是定义了 Observer 观察者身份,即桥梁

当然 MVVM 模型的思想不仅仅只应用在 Vue 上面,其他主流的前端框架也都能看到 MVVM 模型的影子。希望看完这篇文章,能够帮助你对 MVVM 模型有了更深一步的了解。

本文链接地址:https://www.jiuchutong.com/zhishi/299313.html 转载请保留说明!

上一篇:盘点ChatGPT的使用资源(chatplus)

下一篇:【GoF 23】23种设计模式与OOP七大原则概述

  • 房产公司企业所得税如何预征
  • 申请退税到账后怎么处理
  • 个人所得税0申报表怎么填
  • 公司员工住宿费怎么入账
  • 核定征收需要什么条件和手续
  • 小企业会计准则是小规模纳税人吗
  • 收到进项发票已认证,对方冲红重开,我方凭证什么做
  • 资本公积什么时候做账
  • 汽车按揭费用收合法吗?
  • 向其他单位无偿提供服务的不需缴纳增值税
  • 怎么给个体户开电子发票
  • 没有产权的房子可以公证吗
  • 买一赠一怎么确定真假
  • 一般纳税人有进项无销项
  • 中小企业工会经费怎么算
  • 销售折扣在备注栏注明的可以扣除吗
  • 如何把两个人的照片合在一起
  • win11界面不停刷新
  • 进销存账本怎么做
  • 一次性计提折旧的政策
  • 如何理解应交税费未交增值税
  • 电脑出现一堆英文无法开机
  • 使用mac什么意思
  • PHP:session_is_registered()的用法_Session函数
  • PHP:Memcached::increment()的用法_Memcached类
  • php缩放图片
  • setlang.exe - setlang是什么进程 有什么用
  • php和mysql的联合使用
  • 分公司改为子公司的所得税业务处理?
  • 逾期未收回包装物押金增值税
  • 多开票金额会计分录
  • 海浪冲击着海岸
  • 进项税额转出的所有会计分录
  • 最简单的上传php文件
  • 帝国cms界面
  • 分公司增值税可以放总公司一起缴纳吗
  • php 错误提示
  • 处置固定资产账务处理进什么科目
  • 前端培训费用大概多少
  • mysql触发器在哪
  • sqlserver2008新建实例
  • 同控和非同控的企业合并的分录
  • 赠送代金券账务怎么处理
  • 企业缴纳印花税时需要
  • 车辆购置税滞纳金上限
  • 税控技术服务费怎么做账
  • 购入需要安装的设备计入什么科目
  • 分包工程 税务 账务处理
  • 备用金预期有什么影响
  • 企业的一般账户可以转款到个人吗
  • 销售发票已开进项发票未收到怎么处理?
  • 行政事业单位负责人应当对本单位内部控制
  • 账户的基本结构不包括的内容有
  • mysqladmin ping
  • Sqlserver聚集索引和非聚集索引的区别
  • mac安装mysql的两种方法(含配置)
  • userexperience是什么意思
  • win7系统如何关闭开机自动启动软件
  • 怎样加快缩略图的大小
  • linux 源文件
  • windows8开机启动项在哪里设置
  • hosts文件win10
  • cocos2d原理
  • Android 中的 TableLayout 继承自
  • 常用的js框架有哪些
  • shell 数组操作
  • 关于使用RequestWindowFeature为啥一定要在setContentView之前调用
  • unity learning
  • js实现vue
  • python 判断中文字符
  • python爬取前程无忧
  • 税务局副局长分管业务
  • 江苏昆山电费查询电话
  • 陕西地方水利建设基金减免政策2023
  • 莅临指导和莅临交流的区别
  • 出口退税的企业货币要回国内吗
  • 现在企业可以享受低保吗
  • 开票内容 大类
  • 中国有没有豁免权
  • 经纪代理服务税率是多少 1%
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设