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

做背景网站东莞市微信网站建设品牌

做背景网站,东莞市微信网站建设品牌,wordpress sora 下载,网站建设套餐有哪些内容MVVM由以下三个内容构成: Model:数据模型View:界面ViewModel:作为桥梁负责沟通View和Model 在JQuery时期,如果需要刷新UI,需要先取到对应的 DOM 再更新 UI,这样数据和业务的逻辑就和⻚⾯有强耦合。 在 MVVM 中,UI 是…

MVVM由以下三个内容构成:

  • Model:数据模型
  • View:界面
  • ViewModel:作为桥梁负责沟通View和Model

在JQuery时期,如果需要刷新UI,需要先取到对应的 DOM 再更新 UI,这样数据和业务的逻辑就和⻚⾯有强耦合。

在 MVVM 中,UI 是通过数据驱动的,数据⼀旦改变就会相应的刷新对应的UI,UI如果改变,也会改变对应的数据。这种⽅式就可以在业务处理中只关⼼数据的流转,⽽⽆需直接和页面打交道。ViewModel 只关⼼数据和业务的处理,不关⼼ View 如何处理数据,在这种情况 下,View 和 Model 都可以独⽴出来,任何⼀⽅改变了也不⼀定需要改变另⼀⽅,并且可以将⼀些可复⽤的逻辑放在⼀个 ViewModel 中,让多个 View 复⽤这个 ViewModel。 在 MVVM 中,最核⼼的也就是数据双向绑定,例如 Angluar 的脏数据检测,Vue2中的数据劫持。

脏数据检测

当触发了指定事件后会进⼊脏数据检测,这时会调⽤ $digest 循环遍历所有的数据观察者, 判断当前值是否和先前的值有区别,如果检测到变化的话,会调⽤ $watch 函数,然后再次调⽤ $digest 循环直到发现没有变化。循环⾄少为⼆次 ,⾄多为⼗次。

脏数据检测虽然存在低效的问题,但是不关⼼数据是通过什么⽅式改变的,都可以完成任务,但是这在 Vue 中的双向绑定是存在问题的。并且脏数据检测可以实现批量检测出更新的值,再去统⼀更新 UI,⼤⼤减少了操作 DOM 的次数,所以低效也是相对的。

数据劫持

Vue2 内部使⽤了 Object.defineProperty() 来实现双向绑定,通过这个函数可以监听到 set 和 get 的事件。

Object.defineProperty 虽然已经能够实现双向绑定了,但是他还是有缺陷的。

1. 只能对属性进⾏数据劫持,所以需要深度遍历整个对象

2. 对于数组不能监听到数据的变化

虽然 Vue 中确实能检测到数组数据的变化,但是其实是使⽤了 hack 的办法,并且也是有缺陷的。

反观 Proxy 就没以上的问题,原⽣⽀持监听数组变化,并且可以直接对整个对象进⾏拦截, 所以 Vue3 使⽤ Proxy 替换 Object.defineProperty

http://www.yayakq.cn/news/758931/

相关文章:

  • 上海专业高端网站建设服微信开放平台登陆
  • 网站首页设计怎么写天津最新紧急通知
  • 威海市城乡建设局网站给小学生做家教的网站
  • 我想投诉做软件的网站公司名称变更
  • 网站里的聊天怎么做做一个响应式网站价格
  • 深圳网站制作问怎么自己做电商
  • 查找北京国互网网站建设空间网站大全
  • 设计网站建wordpress调用文章上级栏目名字
  • 我市强化属地网站建设电商要怎么做起来
  • 南通市城乡建设局网站河南省教育厅官方网站师德建设
  • 网站建设的市场有多大wordpress 压缩图片
  • 网站上的咨询窗口是怎么做的源码屋整站源码
  • wordpress建m域名网站企业网站建设企业
  • 公司网站可以分两个域名做吗举报不良网站信息怎么做
  • 化妆品企业网站建设前段模板网站
  • 绍兴做网站比较专业的公司大数据营销的特点有哪些
  • 自己做网站平台网站开发背景
  • 收到网站代码后怎么做短视频搜索seo
  • 建设网站青岛重庆建设公司网站
  • 甘井子区城市建设管理局网站用php做美食网站有哪些
  • ftp怎么做网站的备份王也踏青
  • 松岗做网站价格空间建网站
  • 制作网站微信登陆入口教我做网站
  • 网站建设问答网站后台管理系统 英文
  • 云霄县建设局网站wordpress怎么用panel
  • 网站安全狗卸载卸载不掉做网站主页上主要放哪些内容
  • 石家庄网站开发建设建设银行网上银行网站
  • 地方网站全网营销全球贸易中心网
  • 企业品牌网站建设类型教育培训机构网站源码
  • 北京怎么建设网站威海市建设工程协会网站