随笔分类 -  Vue

摘要:【Vue2.x源码系列08】Diff算法原理vue2采用了头尾双指针的方法,每次比对时,优先进行头头、尾尾、头尾、尾头的比对尝试,如果都没有命中才会进行乱序比对。 阅读全文
posted @ 2023-05-16 20:57 柏成 阅读(477) 评论(0) 推荐(5) 编辑
摘要:【Vue2.x源码系列07】监听器watch原理本章目标:监听器是如何实现的?监听器选项 - immediate、deep 内部实现?在初始化Vue实例时,我们会给每个侦听器都创建一个对应watcher,我们称之为侦听器watcher 阅读全文
posted @ 2023-04-20 09:12 柏成 阅读(575) 评论(5) 推荐(1) 编辑
摘要:【Vue2.x源码系列06】计算属性computed原理本章目标:计算属性是如何实现的?计算属性缓存原理以及洋葱模型的应用?在初始化Vue实例时,我们会给每个计算属性都创建一个对应watcher,我们称之为计算属性watcher 阅读全文
posted @ 2023-04-19 09:19 柏成 阅读(492) 评论(0) 推荐(0) 编辑
摘要:【Vue2.x源码系列05】异步更新及nextTick原理vue2.7 源码中,nextTick并没有直接使用某个 API ,而是采用了优雅降级的方案去实现异步更新。我们额外维护了一个 callbacks,用于存储 nextTick 回调 阅读全文
posted @ 2023-04-09 23:04 柏成 阅读(456) 评论(0) 推荐(1) 编辑
摘要:【Vue2.x源码系列04】依赖收集原理(Dep、Watcher、Observer)我们只会在 Observer 类 和 defineReactive 函数中实例化 dep。在 getter 方法中依赖收集,在 setter 方法中派发更新通知 阅读全文
posted @ 2023-04-03 09:19 柏成 阅读(1344) 评论(1) 推荐(3) 编辑
摘要:【Vue2.x源码系列03】数据驱动渲染(Render、Update)模版 template和响应式数据是如何渲染成最终的DOM?new Vue又发生了什么?render和update的作用又是什么? 阅读全文
posted @ 2023-03-29 09:28 柏成 阅读(364) 评论(0) 推荐(1) 编辑
摘要:在Vue $mount过程中,我们需要把模版编译成render函数,整体实现可以分为三部分: parse、optimize、codegen。 阅读全文
posted @ 2023-03-27 09:04 柏成 阅读(354) 评论(0) 推荐(0) 编辑
摘要:响应式基本原理就是,在初始化vue实例的时候,对data的每一个属性都通过 Object.defineProperty 定义一次,在数据被set的时候,做一些操作,改变相应的视图 阅读全文
posted @ 2023-03-24 14:33 柏成 阅读(458) 评论(0) 推荐(3) 编辑