美文网首页
vue的setter 派发更新

vue的setter 派发更新

作者: 小螃蟹_5f4c | 来源:发表于2019-11-21 14:23 被阅读0次

我学习得过程是看源码视频的 我在网上看到一个版本记录的 我感觉他是跟我看的同一个视频 所以我就直接引用记录下来下次自己看了https://blog.csdn.net/refreeom/article/details/90440250

报错信息
源码里面的flushSchedulerQueue函数里面会有这个错误,这个错误的出发触发就是给某个属性添加watcher 然后在回调函数里面再进行改变,这样再改变边监听 永远都做不完 image.png
就会出现这种错误
在执行过程中会不断的由setter过来添加相同的user watcher 就会无限循环 ,vue中就是设置了最高99次 应该是同一个watcher执行大于99次就会报出上面错误!
我的大概理解就是这样:
操作改变值的时候会去触发setter ,然后就会把相应watcher添加进一个队列 ,再去执行下一个dep 触发setter 添加watcher 如果多个属于一个watcher 只会添加一次,如果判断里面有就不会添加了 最后所有的watcher添加结束之后 去执行这个队列 这个 队列如果是渲染watcher就会去执行getter函数就会执行_update去更新内容刷新页面 如果是user watcher 就会去执行程序员定义的callback函数!!

相关文章

  • vue的setter 派发更新

    我学习得过程是看源码视频的 我在网上看到一个版本记录的 我感觉他是跟我看的同一个视频 所以我就直接引用记录下来...

  • Vue响应式原理

    1.核心实现类: Observer:给对象的属性添加getter(依赖收集)和setter(派发更新) Dep:收...

  • 2018-09-05 Vue源码解析阅读笔记

    派发更新 当我们在组件中对响应的数据做了修改,就会触发 setter 的逻辑,最后调用 dep.notify() ...

  • vue源码解读--派发更新

    上一节我们分析了依赖收集[https://www.jianshu.com/p/c2320aeb67f4]的过程,当...

  • vue如何改变计算属性的值

    vue最近更新了版本,要求必须在计算属性里加上setter,否则修改计算属性的值就会报错。

  • Vue双向绑定

    Vue双向绑定 Obejct.defineProperty的setter/getter和发布订阅 Vue双向绑定原...

  • Vue进阶

    Vue实例 Vue实例生命周期函数 Vue模板语法 Vue计算属性、方法、侦听器 Vue计算属性的setter和g...

  • Vue(2.6.11)源码阅读——响应式系统

    Vue的响应式系统将按照如下几个部分进行讲解:1. 响应式对象2. 依赖收集3. 派发更新4. nextTick5...

  • 依赖收集、派发更新和Vue.set

    defineReactive给数据添加了 getter 和 setter。在defineReactive内第一步是...

  • Vue--data,props,$emit,v-model

    data Vue 实例的数据对象。Vue 将会递归将 data 的属性转换为 getter/setter,从而让 ...

网友评论

      本文标题:vue的setter 派发更新

      本文链接:https://www.haomeiwen.com/subject/ueftwctx.html