vue一个计算属性如何监听另一个计算属性

一般对vue了解不深的都理解不了这个问题,首先说一下vue的基本知识点:watcher 分为三种,lazy watcher和 user watcher和渲染watcher每一个计算属性都对应一个lazy watcher对象,每一个watch对象的属性都对应一个user watcher对象,每一个组件都对应一个渲染watcher对象每一个data中的属性都对应一个dep对象,dep对象是用来收集watcher和通知watcher更新的,简单来说就是当前属性的watcher管理对象,
摘要由CSDN通过智能技术生成

一般对vue了解不深的都理解不了这个问题,

首先说一下vue的基本知识点:

watcher 分为三种,lazy watcher和 user watcher和渲染watcher

每一个计算属性都对应一个lazy watcher对象,

每一个watch对象的属性都对应一个user watcher对象,

每一个组件都对应一个渲染watcher对象

每一个data中的属性都对应一个dep对象,dep对象是用来收集watcher和通知watcher更新的,

简单来说就是当前属性的watcher管理对象,当获取data中的属性时,会触发属性的get方法,然后当前属性对应的dep对象会进行watcher收集操作,当更新data中的属性时,会触发属性的set方法,然后当前属性对应的dep对象会通知之前收集的watcher进行更新操作

那么,什么是lazy watcher?

观察vue的初始化过程,发现一个重要的知识点,就是user watcher和渲染watcher在创建的时候,就会执行watcher的收集操作

详细步骤是执行watcher的get方法赋值给watcher的value属性,get方法会触发getter方法,getter方法对于user watcher来说会去获取data中属性的值,对于渲染watcher,会去执行更新组件的方法,里面会先执行render方法生成vnode,render方法里

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值