采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
这里是触发的obj的set行为,那么trigger()方法及triggerEffects()方法中的this不应都指向obj吗?为什么能拿到在computed构造函数中的this.effect.computed属性呢?
你好
你指的是这个代码吗?
它是 ComputedRefImpl 的构造函数,它的 this 指向实例对象。
trigger()方法及triggerEffects()方法中没有涉及到 this 呢?
老师,可能我描述得有点模糊。我的疑问是obj.name = '李四'这个set行为-->触发的triggerEffetcs方法中的effect与ComputedRefImpl类中的通过new reactiveEffect()生成的 effect是 同一个吗?可是后者的effect指向的是computedObj实例对象,我搞不懂在obj触发的triggerEffetcs内的this.effect为什么也能拿到computed属性
你好 在 ComputedRefImpl 构造函数中生成的 effect 实例被赋值到 this.effect 中。 这个 this.effect 会在 get value () 行为时被触发,从而触发 this.effect.run 方法。 run 方法中会赋值 this 为 activeEffect ,在依赖收集时被收集到 dep 下。 在依赖触发时,从 dep 中获取。 所以 ComputedRefImpl 中的 this.effect 就是从 dep 中获取到的 effect
登录后可查看更多问答,登录/注册
打造个人专属的Vue3框架,向高阶大神迈近一步
296 1
346 4
664 4
200 4