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

孝感新闻门户网站济南专业做网站

孝感新闻门户网站,济南专业做网站,为什么网站很少做全屏,添加书签网站代码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.yidumall.com/news/95450.html

相关文章:

  • 做网站公司 蓝纤科技电商网站策划
  • 如何对网站做渗透百度推广客户端电脑版
  • 武汉p2p网站建设价格百度网站优化排名
  • 网站建设启凡seo推广优化外包价格
  • 北京网站建设报价明细爱站网关键词查询网站的工具
  • 做区位分析的地图网站关键词搜索优化
  • 网站开发投稿可行吗网络推广好做吗?
  • 媒体网站怎么做网络营销常见术语
  • 阿里云虚拟机怎么做多个网站sem竞价托管公司
  • 政务信息公开与网站建设报告黑帽seo是什么
  • 淮北网站建设网上销售方法
  • 建站程序免费下载简述如何优化网站的方法
  • 重庆政府招标网官网seo怎么做最佳
  • 苏州党员两学一做网站全媒体广告投放平台
  • WordPress输出当前网址seo关键字优化软件
  • wordpress菜单加登陆成都正规搜索引擎优化
  • 网站建设的 几点域名被墙查询检测
  • 如何制作自己的网站网站设计规划
  • wordpress调用js函数优化提升
  • 自己做网站是不是需要写代码最近军事新闻热点大事件
  • 网站 拉新企业网站设计优化公司
  • 专门做店铺转让的网站用html制作个人网页
  • 个人网站建设方案书实例如何给公司网站做推广
  • 企业三合一建站公司怎么找百度贴吧免费发布信息
  • 基础型网站套餐chinaz站长素材
  • 动态表白网站制作seo网络推广有哪些
  • 重庆做网站建设公司seo是什么意思?
  • wordpress 多个站点百度一下首页手机版
  • 易百讯网站建设公司培训管理平台
  • 免费1级做爰网站痘痘该怎么去除效果好