随笔分类 - vue3
摘要:这文章写的很好 Compiler模块:编译模板系统。主要职责是将template编译成虚拟节点。 Runtime模块:也可以称之为Renderer模块,真正负责渲染的模块。主要职责是将虚拟节点渲染成真实元素,然后显示到浏览器上。 Reactivity模块:响应式系统。主要职责是监听响应式的数据,然后
阅读全文
摘要:理解Vue中的scoped实现原理及穿透方法 何为scoped 在vue文件中的style标签上,有一个特殊的属性:scoped。当一个style标签拥有scoped属性时,它的CSS样式就只能作用于当前的组件,也就是说,该样式只能适用于当前组件元素。通过该属性,可以使得组件之间的样式不互相污染。如
阅读全文
摘要:在2019.10.5日发布了Vue3.0预览版源码,但是预计最早需要等到 2020 年第一季度才有可能发布 3.0 正式版。 可以直接看 github源码。 新版Vue 3.0计划并已实现的主要架构改进和新功能: 编译器(Compiler) 使用模块化架构 优化 "Block tree" 更激进的
阅读全文
摘要:前言 我的目标是写一个非常详细的关于diff的干货,所以本文有点长。也会用到大量的图片以及代码举例,目的让看这篇文章的朋友一定弄明白diff的边边角角。 先来了解几个点... 1. 当数据发生变化时,vue是怎么更新节点的? 要知道渲染真实DOM的开销是很大的,比如有时候我们修改了某个数据,如果直接
阅读全文
摘要:前言 vuex作为vue官方出品的状态管理框架,以及其简单API设计、便捷的开发工具支持,在中大型的vue项目中得到很好的应用。作为flux架构的后起之秀,吸收了前辈redux的各种优点,完美的结合了vue的响应式数据,个人认为开发体验已经超过了React + Redux这对基友。 在项目启动vue
阅读全文
摘要:一、真实DOM和其解析流程? 浏览器渲染引擎工作流程都差不多,大致分为5步,创建DOM树——创建StyleRules——创建Render树——布局Layout——绘制Painting 第一步,用HTML分析器,分析HTML元素,构建一颗DOM树(标记化和树构建)。 第二步,用CSS分析器,分析CSS
阅读全文
摘要:vue通常鼓励开发人员沿着“数据驱动”的方式思考,避免直接接触 DOM。Vue的dom更新是异步的,当数据发生变化,vue并不是里面去更新dom,而是开启一个队列。跟JavaScript原生的同步任务和异步任务相同。 比如我们调用一个方法,同时涉及多个数据的操作改变,vue会把这一些列操作推入到一个
阅读全文