10 2022 档案

摘要:前面花了两节的内容介绍了组件,从组件的原理讲到组件的应用,包括异步组件和函数式组件的实现和使用场景。众所周知,组件是贯穿整个Vue设计理念的东西,并且也是指导我们开发的核心思想,所以接下来的几篇文章,将重新回到组件的内容去做源码分析,首先会从常用的动态组件开始,包括内联模板的原理,最后会简单的提到内 阅读全文
posted @ 2022-10-31 10:00 yyzzabc123 阅读(15) 评论(0) 推荐(0) 编辑
摘要:从这一小节开始,正式进入Vue源码的核心,也是难点之一,响应式系统的构建。这一节将作为分析响应式构建过程源码的入门,主要分为两大块,第一块是针对响应式数据props,methods,data,computed,wather初始化过程的分析,另一块则是在保留源码设计理念的前提下,尝试手动构建一个基础的 阅读全文
posted @ 2022-10-31 10:00 yyzzabc123 阅读(36) 评论(0) 推荐(0) 编辑
摘要:上一节,我们深入分析了以data,computed为数据创建响应式系统的过程,并对其中依赖收集和派发更新的过程进行了详细的分析。然而在使用和分析过程中依然存在或多或少的问题,这一节我们将针对这些问题展开分析,最后我们也会分析一下watch的响应式过程。这篇文章将作为响应式系统分析的完结篇。 7.12 阅读全文
posted @ 2022-10-31 09:59 yyzzabc123 阅读(22) 评论(0) 推荐(0) 编辑
摘要:这个系列讲到这里,Vue基本核心的东西已经分析完,但是Vue之所以强大,离不开它提供给用户的一些实用功能,开发者可以更偏向于业务逻辑而非基本功能的实现。例如,在日常开发中,我们将@click=***用得飞起,但是我们是否思考,Vue如何在后面为我们的模板做事件相关的处理,并且我们经常利用组件的自定义 阅读全文
posted @ 2022-10-27 15:09 yyzzabc123 阅读(74) 评论(0) 推荐(0) 编辑
摘要:初学vue,你得知道我们是从new Vue开始的: new Vue({ el: '#app', data: obj, ... }) 那你觉得是不是很有意思,咱们new Vue之后,就可以使用他那么多的功能,可见Vue是暴出来的一个一个功能类函数,我们进入源码一探究竟: import Vue from 阅读全文
posted @ 2022-10-27 15:09 yyzzabc123 阅读(49) 评论(0) 推荐(0) 编辑
摘要:这一节,依然是深入剖析Vue源码系列,上几节内容介绍了Virtual DOM是Vue在渲染机制上做的优化,而渲染的核心在于数据变化时,如何高效的更新节点,这就是diff算法。由于源码中关于diff算法部分流程复杂,直接剖析每个流程不易于理解,所以这一节我们换一个思路,参考源码来手动实现一个简易版的d 阅读全文
posted @ 2022-10-26 14:23 yyzzabc123 阅读(33) 评论(0) 推荐(0) 编辑
摘要:双向数据绑定这个概念或者大家并不陌生,视图影响数据,数据同样影响视图,两者间有双向依赖的关系。在响应式系统构建的上,中,下篇我已经对数据影响视图的原理详细阐述清楚了。而如何完成视图影响数据这一关联?这就是本节讨论的重点:指令v-model。 由于v-model和前面介绍的插槽,事件一致,都属于vue 阅读全文
posted @ 2022-10-26 14:22 yyzzabc123 阅读(57) 评论(0) 推荐(0) 编辑
摘要:一、Vue.nextTick 内部逻辑 在执行 initGlobalAPI(Vue) 初始化 Vue 全局 API 中,这么定义 Vue.nextTick。 function initGlobalAPI(Vue) { //... Vue.nextTick = nextTick; } 可以看出是直接把 阅读全文
posted @ 2022-10-25 12:21 yyzzabc123 阅读(44) 评论(0) 推荐(0) 编辑
摘要:4.1 Virtual DOM 4.1.1 浏览器的渲染流程 当浏览器接收到一个Html文件时,JS引擎和浏览器的渲染引擎便开始工作了。从渲染引擎的角度,它首先会将html文件解析成一个DOM树,与此同时,浏览器将识别并加载CSS样式,并和DOM树一起合并为一个渲染树。有了渲染树后,渲染引擎将计算所 阅读全文
posted @ 2022-10-25 12:20 yyzzabc123 阅读(27) 评论(0) 推荐(0) 编辑
摘要:例子代码 本篇将要讲解dom diff,那么咱们结合下面的例子来进行讲解,这个例子是在上一篇文章的基础上,加了一个数据变更,也就是list的值发生了改变。html中增加了一个按钮change,通过点击change按钮来调用change函数,来改变list的值。例子位于源代码/packages/vue 阅读全文
posted @ 2022-10-24 18:28 yyzzabc123 阅读(71) 评论(0) 推荐(0) 编辑
摘要:前面我们讲到了_init函数的执行流程,简单回顾下: 初始化生命周期-initLifecycle 初始化事件-initEvents 初始化渲染函数-initRender 调用钩子函数-beforeCreate 初始化依赖注入-initInjections 初始化状态信息-initState 初始化依 阅读全文
posted @ 2022-10-24 18:25 yyzzabc123 阅读(20) 评论(0) 推荐(0) 编辑
摘要:上一章,我们讲到了Vue初始化做的一些操作,那么我们这一章来讲一个Vue核心概念响应式系统。 我们先来看一下官方对深入响应式系统的解释: 当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性。 并使用 Object.defineProper 阅读全文
posted @ 2022-10-19 14:52 yyzzabc123 阅读(18) 评论(0) 推荐(0) 编辑
摘要:初学vue,你得知道我们是从new Vue开始的: new Vue({ el: '#app', data: obj, ... }) 那你觉得是不是很有意思,咱们new Vue之后,就可以使用他那么多的功能,可见Vue是暴出来的一个一个功能类函数,我们进入源码一探究竟: import Vue from 阅读全文
posted @ 2022-10-19 14:43 yyzzabc123 阅读(9) 评论(0) 推荐(0) 编辑
摘要:上一节最后稍微提到了Vue内置组件的相关内容,从这一节开始,将会对某个具体的内置组件进行分析。首先是keep-alive,它是我们日常开发中经常使用的组件,我们在不同组件间切换时,经常要求保持组件的状态,以避免重复渲染组件造成的性能损耗,而keep-alive经常和上一节介绍的动态组件结合起来使用。 阅读全文
posted @ 2022-10-19 14:29 yyzzabc123 阅读(82) 评论(0) 推荐(0) 编辑
摘要:前面花了两节的内容介绍了组件,从组件的原理讲到组件的应用,包括异步组件和函数式组件的实现和使用场景。众所周知,组件是贯穿整个Vue设计理念的东西,并且也是指导我们开发的核心思想,所以接下来的几篇文章,将重新回到组件的内容去做源码分析,首先会从常用的动态组件开始,包括内联模板的原理,最后会简单的提到内 阅读全文
posted @ 2022-10-19 14:17 yyzzabc123 阅读(46) 评论(0) 推荐(0) 编辑
摘要:这一节,依然是深入剖析Vue源码系列,上几节内容介绍了Virtual DOM是Vue在渲染机制上做的优化,而渲染的核心在于数据变化时,如何高效的更新节点,这就是diff算法。由于源码中关于diff算法部分流程复杂,直接剖析每个流程不易于理解,所以这一节我们换一个思路,参考源码来手动实现一个简易版的d 阅读全文
posted @ 2022-10-18 17:02 yyzzabc123 阅读(36) 评论(0) 推荐(0) 编辑
摘要:这个系列讲到这里,Vue基本核心的东西已经分析完,但是Vue之所以强大,离不开它提供给用户的一些实用功能,开发者可以更偏向于业务逻辑而非基本功能的实现。例如,在日常开发中,我们将@click=***用得飞起,但是我们是否思考,Vue如何在后面为我们的模板做事件相关的处理,并且我们经常利用组件的自定义 阅读全文
posted @ 2022-10-18 16:53 yyzzabc123 阅读(16) 评论(0) 推荐(0) 编辑
摘要:Vue组件的另一个重要概念是插槽,它允许你以一种不同于严格的父子关系的方式组合组件。插槽为你提供了一个将内容放置到新位置或使组件更通用的出口。这一节将围绕官网对插槽内容的介绍思路,按照普通插槽,具名插槽,再到作用域插槽的思路,逐步深入内在的实现原理,有对插槽使用不熟悉的,可以先参考官网对插槽的介绍。 阅读全文
posted @ 2022-10-18 16:48 yyzzabc123 阅读(98) 评论(0) 推荐(0) 编辑
摘要:双向数据绑定这个概念或者大家并不陌生,视图影响数据,数据同样影响视图,两者间有双向依赖的关系。在响应式系统构建的上,中,下篇我已经对数据影响视图的原理详细阐述清楚了。而如何完成视图影响数据这一关联?这就是本节讨论的重点:指令v-model。 由于v-model和前面介绍的插槽,事件一致,都属于vue 阅读全文
posted @ 2022-10-18 16:42 yyzzabc123 阅读(53) 评论(0) 推荐(0) 编辑
摘要:上一节,我们深入分析了以data,computed为数据创建响应式系统的过程,并对其中依赖收集和派发更新的过程进行了详细的分析。然而在使用和分析过程中依然存在或多或少的问题,这一节我们将针对这些问题展开分析,最后我们也会分析一下watch的响应式过程。这篇文章将作为响应式系统分析的完结篇。 7.12 阅读全文
posted @ 2022-10-17 14:28 yyzzabc123 阅读(22) 评论(0) 推荐(0) 编辑
摘要:为了深入介绍响应式系统的内部实现原理,我们花了一整节的篇幅介绍了数据(包括data, computed,props)如何初始化成为响应式对象的过程。有了响应式数据对象的知识,上一节的后半部分我们还在保留源码结构的基础上构建了一个以data为数据的响应式系统,而这一节,我们继续深入响应式系统内部构建的 阅读全文
posted @ 2022-10-17 14:24 yyzzabc123 阅读(10) 评论(0) 推荐(0) 编辑
摘要:从这一小节开始,正式进入Vue源码的核心,也是难点之一,响应式系统的构建。这一节将作为分析响应式构建过程源码的入门,主要分为两大块,第一块是针对响应式数据props,methods,data,computed,wather初始化过程的分析,另一块则是在保留源码设计理念的前提下,尝试手动构建一个基础的 阅读全文
posted @ 2022-10-17 14:19 yyzzabc123 阅读(27) 评论(0) 推荐(0) 编辑
摘要:我们知道,组件是Vue体系的核心,熟练使用组件是掌握Vue进行开发的基础。上一节中,我们深入了解了Vue组件注册到使用渲染的完整流程。这一节我们会在上一节的基础上介绍组件的两个高级用法:异步组件和函数式组件。 6.1 异步组件 6.1.1 使用场景 Vue作为单页面应用遇到最棘手的问题是首屏加载时间 阅读全文
posted @ 2022-10-17 14:06 yyzzabc123 阅读(42) 评论(0) 推荐(0) 编辑
摘要:继上一节内容,我们将Vue复杂的挂载流程通过图解流程,代码分析的方式简单梳理了一遍,最后也讲到了模板编译的大致流程。然而在挂载的核心处,我们并没有分析模板编译后渲染函数是如何转换为可视化DOM节点的。因此这一章节,我们将重新回到Vue实例挂载的最后一个环节:渲染DOM节点。在渲染真实DOM的过程中, 阅读全文
posted @ 2022-10-10 15:52 yyzzabc123 阅读(32) 评论(0) 推荐(0) 编辑
摘要:前面几节我们从new Vue创建实例开始,介绍了创建实例时执行初始化流程中的重要两步,配置选项的资源合并,以及响应式系统的核心思想,数据代理。在合并章节,我们对Vue丰富的选项合并策略有了基本的认知,在数据代理章节我们又对代理拦截的意义和使用场景有了深入的认识。按照Vue源码的设计思路,初始化过程还 阅读全文
posted @ 2022-10-10 15:46 yyzzabc123 阅读(54) 评论(0) 推荐(0) 编辑
摘要:简单回顾一下这个系列的前两节,前两节花了大量的篇幅介绍了Vue的选项合并,选项合并是Vue实例初始化的开始,Vue为开发者提供了丰富的选项配置,而每个选项都严格规定了合并的策略。然而这只是初始化中的第一步,这一节我们将对另一个重点的概念深入的分析,他就是数据代理,我们知道Vue大量利用了代理的思想, 阅读全文
posted @ 2022-10-10 15:41 yyzzabc123 阅读(27) 评论(0) 推荐(0) 编辑
摘要:4.1 Virtual DOM 4.1.1 浏览器的渲染流程 当浏览器接收到一个Html文件时,JS引擎和浏览器的渲染引擎便开始工作了。从渲染引擎的角度,它首先会将html文件解析成一个DOM树,与此同时,浏览器将识别并加载CSS样式,并和DOM树一起合并为一个渲染树。有了渲染树后,渲染引擎将计算所 阅读全文
posted @ 2022-10-04 19:19 yyzzabc123 阅读(38) 评论(0) 推荐(0) 编辑
摘要:摘要:源码解读设计模式系列文章将陆陆续续进行更新中 ~ 摘要:源码解读设计模式系列文章将陆陆续续进行更新中 ~ 观察者模式 首先话题下来,我们得反问一下自己,什么是观察者模式? 概念 观察者模式(Observer):通常又被称作为发布-订阅者模式。它定义了一种一对多的依赖关系,即当一个对象的状态发生 阅读全文
posted @ 2022-10-04 19:07 yyzzabc123 阅读(118) 评论(0) 推荐(0) 编辑
摘要:前言 此篇主要手写 Vue2.0 源码-模板编译原理 上一篇咱们主要介绍了 Vue 数据的响应式原理 对于中高级前端来说 响应式原理基本是面试 Vue 必考的源码基础类 如果不是很清楚的话基本就被 pass 了 那么今天咱们手写的模板编译原理也是 Vue 面试比较频繁的一个点 而且复杂程度是高于响应 阅读全文
posted @ 2022-10-03 15:12 yyzzabc123 阅读(42) 评论(0) 推荐(0) 编辑
摘要:前言 这段时间利用课余时间夹杂了很多很多事把 Vue2 源码学习了一遍,但很多都是跟着视频大概过了一遍,也都画了自己的思维导图。但还是对详情的感念模糊不清,故这段时间对源码进行了总结梳理。 本篇文章更合适于已看过 Vue2 源码,进一步总结加深概念的人群。若还未读过源码或零碎一知半解的小伙伴,也可以 阅读全文
posted @ 2022-10-03 15:03 yyzzabc123 阅读(41) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示