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

自己公司怎样弄个网站有动效网站

自己公司怎样弄个网站,有动效网站,物联网解决方案,学生个人主页模板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.15wanjia.com/news/196295.html

相关文章:

  • 机关单位网站安全建设wordpress 信息网站
  • 百度如何验证网站百度资源共享
  • 网站描述案例遨游建站
  • 做视频网站怎么挣钱吗网页策划书
  • 西安知名网站开发的公司类似 wordpress的软件
  • php网站后台登陆地址网站公司排行榜前十名
  • 网站顶部悬浮广告代码手机ftp传网站文件在哪里
  • 神农架网站建设公司域名与空间购买后怎么做网站
  • 微生成网站多少钱要交个人所得税
  • 山东美建站网站与公众号的区别
  • 创意产品设计图厦门seo优化推广
  • 网站数据分析指标帝国cms建站实例教程
  • 广州建网站要多少钱php网站开发账号密码
  • 全国建设工程执业资格注册中心网站wordpress局域网中看
  • 人社网站行风建设的建设和意见成品app
  • 精品网站建设费用 要上磐石网络wordpress批量修改图片src
  • 一个人建网站赚钱个人如何做百度推广
  • 论坛是做网站还是app好山西网站建设营销qq
  • 做帖子网站孝感公司做网站
  • 视频涉台互联网网站怎么做磁力库
  • 住房城市建设部门户网站软文推广套餐
  • 网站建设及解析流程网上培训机构
  • 网站设计机构网络营销软件
  • 江门网站优化方案广州哪里能买到正品港版黄道益活络油
  • 影楼网站服务wordpress分享功能
  • 有什么正规的网站做代加工server2008 做网站
  • 中型网站建设停放域名
  • 重庆网站制作天怎样建移动网站
  • 网站开发前期方案安徽网站开发哪家好
  • 杯子网站开发方案模板58同城建筑招聘网最新招聘