首页
作品
资讯
专题
果动
登录
注册
Archie
2021年05月03日入驻
合计
2
个作品
累计
48.94
万字
最新
订阅
收藏
6.5. keep-alive
在我们的平时开发工作中,经常为了组件的缓存优化而使用 <keep-alive> 组件,乐此不疲,但很少有人关注它的实现原理,下面就让我们来一探究竟。
2021年09月20日
Vue 技术揭秘
6.4. slot
Vue 的组件提供了一个非常有用的特性 —— slot 插槽,它让组件的实现变的更加灵活。我们平时在开发组件库的时候,为了让组件更加灵活可定制,经常用插槽的方式让用户可以自定义内容。插槽分为普通插槽和作用域插槽,它们可以解决不同的场景,但它是怎么实现的呢,下面我们就从源码的角度来分析插槽的实现原理。
2021年09月20日
Vue 技术揭秘
6.3. v-model
很多同学在理解 Vue 的时候都把 Vue 的数据响应原理理解为双向绑定,但实际上这是不准确的,我们之前提到的数据响应,都是通过数据的改变去驱动 DOM 视图的变化,而双向绑定除了数据驱动 DOM 外, DOM 的变化反过来影响数据,是一个双向关系,在 Vue 中,我们可以通过 v-model 来实现双向绑定。
2021年09月20日
Vue 技术揭秘
6.2. event
我们平时开发工作中,处理组件间的通讯,原生的交互,都离不开事件。对于一个组件元素,我们不仅仅可以绑定原生的 DOM 事件,还可以绑定自定义事件,非常灵活和方便。那么接下来我们从源码角度来看看它的实现原理。
2021年09月20日
Vue 技术揭秘
6.1. 介绍
2021年09月20日
Vue 技术揭秘
5.5. codegen
编译的最后一步就是把优化后的 AST 树转换成可执行的代码,这部分内容也比较多,我并不打算把所有的细节都讲了,了解整体流程即可。部分细节我们会在之后的章节配合一个具体 case 去详细讲。
2021年09月20日
Vue 技术揭秘
5.4. optimize
当我们的模板 template 经过 parse 过程后,会输出生成 AST 树,那么接下来我们需要对这颗树做优化,optimize 的逻辑是远简单于 parse 的逻辑,所以理解起来会轻松很多。
2021年09月20日
Vue 技术揭秘
5.3. parse
编译过程首先就是对模板做解析,生成 AST,它是一种抽象语法树,是对源代码的抽象语法结构的树状表现形式。在很多编译技术中,如 babel 编译 ES6 的代码都会先生成 AST。
2021年09月20日
Vue 技术揭秘
5.2. 编译入口
2021年09月20日
Vue 技术揭秘
5.1. 介绍
2021年09月20日
Vue 技术揭秘
4.9. 原理图
2021年09月20日
Vue 技术揭秘
4.8. 组件更新
2021年09月20日
Vue 技术揭秘
4.7. 计算属性 VS 侦听属性
Vue 的组件对象支持了计算属性 computed 和侦听属性 watch 2 个选项,很多同学不了解什么时候该用 computed 什么时候该用 watch。先不回答这个问题,我们接下来从源码实现的角度来分析它们两者有什么区别。
2021年09月20日
Vue 技术揭秘
4.6. 检测变化的注意事项
通过前面几节的分析,我们对响应式数据对象以及它的 getter 和 setter 部分做了了解,但是对于一些特殊情况是需要注意的,接下来我们就从源码的角度来看 Vue 是如何处理这些特殊情况的。
2021年09月20日
Vue 技术揭秘
4.5. nextTick
nextTick 是 Vue 的一个核心实现,在介绍 Vue 的 nextTick 之前,为了方便大家理解,我先简单介绍一下 JS 的运行机制。
2021年09月20日
Vue 技术揭秘
4.4. 派发更新
2021年09月20日
Vue 技术揭秘
4.3. 依赖收集
2021年09月20日
Vue 技术揭秘
4.2. 响应式对象
可能很多小伙伴之前都了解过 Vue.js 实现响应式的核心是利用了 ES5 的 Object.defineProperty,这也是为什么 Vue.js 不能兼容 IE8 及以下浏览器的原因,我们先来对它有个直观的认识。
2021年09月20日
Vue 技术揭秘
4.1. 介绍
2021年09月20日
Vue 技术揭秘
3.7. 异步组件
2021年09月20日
Vue 技术揭秘
前一页
后一页