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

成都APP 微网站开发齐诺网站建设东莞网站建设做网站

成都APP 微网站开发,齐诺网站建设东莞网站建设做网站,自动点击竞价广告软件,wordpress加载过慢vue2采用数据代理数据劫持发布订阅模式的方法。 在初始化vue实例时,会把data对象和data对象的属性都添加到vm对象中,通过object.defineProperty()进行数据代理,用vm对象的属性来代理data对象的属性,并在Observer类中递归遍历data…

vue2采用数据代理+数据劫持+发布订阅模式的方法。

在初始化vue实例时,会把data对象和data对象的属性都添加到vm对象中,通过object.defineProperty()进行数据代理,用vm对象的属性来代理data对象的属性,并在Observer类中递归遍历data对象,对data对象中的每个属性都进行数据劫持,都指定一个getter、setter。

例外的,对于数组,不能通过object.defineProperty()进行数据代理,因为监听的数组下标变化时会出现数据错乱问题,所以数组是调用数组重写的原生方法来实现响应式。

当通过vm对象修改data对象中的属性时,会触发data属性的setter方法,然后触发它Dep实例的notify方法进行依赖分发,通知所有依赖的Watcher实例执行内部回调函数。最后会触发renderWatcher回调,会重新执行render函数,重新对比新旧虚拟DOM,重新渲染页面。【Watcher回调是异步任务,它的执行会遵循事件循环机制,且重复的Watcher回调不会放到任务队列中,所以多次重复数据更新时,只会重新渲染一次页面】。

当通过vm对象读取data对象中的属性时,会触发data属性的getter方法,然后触发它Dep实例的depend方法进行依赖收集。

当data对象中数组元素发生变化时,会调用数组重写的原生方法,然后触发它Dep实例的notify方法进行依赖分发,通知所有依赖的Watcher实例执行内部回调函数。最后会触发renderWatcher回调,会重新执行render函数,重新对比新旧虚拟DOM,重新渲染页面。

当读取data对象中数组元素时,会触发数组的getter方法,然后触发它Dep实例的depend方法进行依赖收集。

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

相关文章:

  • asp.net 网站开发视频教程上海嘉定网页设计
  • 新手做网站应该注意什么河南教育平台网站建设
  • 响应式外贸建站网站开发人员 组织架构
  • 网站域名实名认证吗新闻10 30字
  • 福州做网站建设做网站后端的是什么部门
  • 苏州网站快速推广济南建设网站的公司吗
  • 成都建站网址云南网际科技有限公司
  • 智慧团建网站pc端网站作品怎么做链接
  • 中国铁路建设集团公司网站制作营业执照图片手机软件
  • 专业服务网站建设爬虫 网站开发实例
  • 计算机网站开发项目昭通市有做网站的吗
  • 网站集群建设和网站集约化如何开发游戏辅助软件
  • seo站内优化包括移动互联网开发技术题库
  • 网站默认首页wordpress 选择用户登录
  • 聊城网站备案河南工程建设信息网官网 可登录中项网
  • 网站策划软件我爱水煮鱼wordpress
  • 网站域名注册网站南宁网站建设公司电话
  • 自己怎样制作公司网站网络营销做得比较成功的企业
  • 网站建设人员配备深圳网站建设 龙华信科
  • 东莞 网站建设多少钱微山网站建设
  • 无锡电商网站wordpress 后台登陆
  • 做平面设计常用的网站me域名的网站
  • 机关门户网站app建设思考购买天猫店铺网站
  • 新手做网站视频教程新浪网页游戏
  • 公司网站首页图片素材摄影网站建设内容
  • 古典 网站 模板wordpress 相册主题
  • FLASK做wiki网站住房和城乡建设部服务门户
  • 创建网站收费网贷平台
  • 焦作官网网站推广工具php网站 缓存
  • 外国教程网站有哪些代练网站建设视频