当前位置: 首页 > 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.dt0577.cn/news/1518.html

相关文章:

  • 东莞的网站建设百度长尾关键词挖掘
  • 网站如何解除绑定域名公关负面处理公司
  • 上海网站建设网页制作联系方式百度游戏风云榜
  • 网站图片模板谷歌关键词工具
  • 网站建设目录结构设计售卖链接
  • 宜昌市做网站苏州百度推广公司地址
  • 磁力搜索网站怎么做的发帖推广平台
  • 营口做网站公司网页设计模板
  • 人武部正规化建设西安seo招聘
  • 公司装修开工大吉贺词seo快速入门教程
  • 网站自动售卡怎么做深圳关键词
  • 天津微外卖网站建设郑州技术支持seo
  • 服装外贸网站设计项目网站
  • 域名维护一个年多少钱深圳网站优化网站
  • wordpress 评论 表情惠州seo优化服务
  • 天津自动seoseo接单平台有哪些
  • 烟台装修公司网站建设房地产十大营销手段
  • 买了个区域名怎么做网站哪个软件可以自动排名
  • 国内网站免备案企业培训师资格证
  • 代做ppt网站app投放渠道有哪些
  • 企业网站备案株洲企业seo优化
  • 网站国外推广湖南专业seo公司
  • 贵溪市城乡建设局网站电商运营自学全套教程
  • 线上做笔记的网站新网站 seo
  • 从零学习做网站排名软件下载
  • 公司做网站要花多少钱seo排名公司
  • 设计素材网站哪个好用软文模板app
  • 如果给公司做网站长春seo培训
  • 北京做网站建设价格低新闻软文推广案例
  • 有什么做任务得佣金的网站国家免费职业培训平台