揭秘,Vue3 性能优化之 Non-reactive Object

2022-08-12
阅读 5 分钟
1.9k
在 Vue2 中,有一个老生常谈的话题,如何避免 data 中一个复杂对象(自身或属性对象)被默认被创建为响应式(Non-reactive Object)的过程? 举个例子,有一个 Vue2 的组件的 data:
封面图

Vue3 Ref 语法糖,告别 .value 的写法

2021-09-15
阅读 11 分钟
15.2k
近期,Vue3 提了一个 Ref Sugar 的 RFC,即 ref 语法糖,目前还处理实验性的(Experimental)阶段。在 RFC 的动机(Motivation)中,Evan You 介绍到在 Composition API 引入后,一个主要未解决的问题是 refs 和 reactive 对象的使用。而到处使用 .value 可能会很麻烦,如果在没使用类型系统的情况下,也会很容易错过:
封面图

Vue 3 中 v-if 和 v-show 指令实现的原理

2021-01-17
阅读 9 分钟
13.6k
又回到了经典的一句话:“知其然,而后使其然”。相信大家对 Vue 提供 v-if 和 v-show 指令的使用以及对应场景应该都滚瓜烂熟了。但是,我想仍然会有很多同学对于 v-if 和 v-show 指令实现的原理存在知识空白。

Vue3 中实例挂载(mount)过程

2020-10-03
阅读 8 分钟
8.9k
在「Vue3」中,创建一个组件实例由 createApp 「API」完成。创建完一个组件实例,我们需要调用 mount() 方法将组件实例挂载到页面中:

Vue3 内置组件 teleport 是什么“来头”?

2020-09-27
阅读 5 分钟
3k
上一篇文章,我们讲了「Vue3」 runtime 和 compile 结合的 patch 过程。似乎,由于文章内容太过晦涩的原因,并没有收到很多同学的反馈。但是,其实这里我想说的是源码就是这样,初见时如陌生人一般,再见时如初恋,既熟悉又怀念。

揭秘,Vue3 compile 和 runtime 结合的 patch 过程

2020-09-24
阅读 10 分钟
5.7k
说起「Vue3」的 patch 过程,其中最为津津乐道的就是靶向更新。靶向更新,顾名思义,即更新的过程是带有目标性的、直接性的。而,这也是和静态节点提升一样,是「Vue3」针对 VNode 更新性能问题的一大优化。

Vue3.0 的 reactive API 定义和源码实现

2020-04-05
阅读 5 分钟
6.5k
今年,对于从事前端开发的同学而言,很是期待的一件事就是 Vue3.0 的发布。但是,Vue3.0 离发布还是有点时间的,并且正式发布也不代表我们就马上就可以用于业务开发。它还需要完善相应的生态工具。不过正式使用是一码事,我们自己玩又是一码事(hh)。

4k+ 字分析 Vue 3.0 响应式原理(依赖收集和派发更新)

2020-03-30
阅读 15 分钟
9.7k
前几天写了一篇关于Vue 3.0 reactive API 源码实现的文章,发现大家还是蛮有兴趣对于源码这一块的。阅读的人数虽然不多,不过还是阔以的!但是,在上篇文章中是没有分析 Proxy 是如何配合 Effect 实现响应式的原理,即依赖收集和派发更新的过程。