前端之路

路漫漫其修远兮,吾将上下而求索

首页 归档 关于

Vue3.0 核心源码解读 | Teleport 组件:如何脱离当前组件渲染子组件?

2021年01月22日 留言
我们都知道,Vue.js 的核心思想之一是组件化,组件就是 DOM 的映射,我们通过嵌套的组件构成了一个组件应用程序的树。但是,有些时候组件模板的一部分在逻辑上属于该组件,而从技术角度来看,最好将模板的这一部分移动到应用程序之外的其他位置。
  • vue

更多

Vue3.0 核心源码解读 | V-Model:双向绑定到底是怎么实现的?

2021年01月21日 留言
很多人学习 Vue.js,会把 Vue.js 的响应式原理误解为双向绑定。其实响应式原理是一种单向行为,它是数据到 DOM 的映射。而真正的双向绑定,除了数据变化,会引起 DOM 的变化之外,还应该在操作 DOM 改变后,反过来影响数据的变化。
  • vue

更多

Vue3.0 核心源码解读 | 指令:指令完整的生命周期是怎样的?

2021年01月20日 留言
我们知道 Vue.js 的核心思想之一是数据驱动,数据是 DOM 的映射。在大部分情况下,你是不用操作 DOM 的,但是这并不意味着你不能操作 DOM。
  • vue

更多

Vue3.0 核心源码解读 | 插槽:如何实现内容分发?

2021年01月19日 留言
Vue.js 受到 Web Component 草案的启发,通过插槽的方式实现内容分发,它允许我们在父组件中编写 DOM 并在子组件渲染时把 DOM 添加到子组件的插槽中,使用起来非常方便。
  • vue

更多

Vue3.0核心源码解读 | Props:Props 的初始化和更新流程是怎样的?

2021年01月18日 留言
前面我们提到过 Vue.js 的核心思想之一是组件化,页面可以由一个个组件构建而成,组件是一种抽象的概念,它是对页面的部分布局和逻辑的封装。
  • vue

更多

Vue3.0核心源码解读 | 生成代码:AST 如何生成可运行的代码?(下)

2021年01月17日 留言
上一篇,我们已经知道了在 AST 转换后,会执行 generate 函数生成代码,而 generate 主要做五件事情:创建代码生成上下文,生成预设代码,生成渲染函数,生成资源声明代码,以及生成创建 VNode 树的表达式。本篇我们继续分析,来看生成创建 VNode 树的表达式的过程。
  • vue

更多

Vue3.0 核心源码解读 | 生成代码:AST 如何生成可运行的代码?(上)

2021年01月16日 留言
上一篇我们分析了 AST 节点转换的过程,也知道了 AST 节点转换的作用是通过语法分析,创建了语义和信息更加丰富的代码生成节点 codegenNode,便于后续生成代码。
  • vue

更多

Vue3.0 核心源码解读 | AST 转换:AST 节点内部做了哪些转换?(下)

2021年01月16日 留言
上一篇,我们已经知道了 transform 的核心流程主要有四步:创建 transform 上下文、遍历 AST 节点、静态提升以及创建根代码生成节点。本篇我们接着分析遍历 AST 节点中的 Text 节点的转换函数。
  • vue

更多

Vue3.0 核心源码解读 | AST 转换:AST 节点内部做了哪些转换?(上)

2021年01月16日 留言
上一篇,我们学习了 template 的解析过程,最终拿到了一个 AST 节点对象。这个对象是对模板的完整描述,但是它还不能直接拿来生成代码,因为它的语义化还不够,没有包含和编译优化的相关属性,所以还需要进一步转换。
  • vue

更多

Vue3.0 核心源码解读 | 模板解析:构造 AST 的完整流程是怎样的?(下)

2021年01月16日 留言
本篇我们依然要解析 template 生成 AST 背后的实现原理,上一篇,我们知道了 baseParse 主要就做三件事情:创建解析上下文,解析子节点,创建 AST 根节点。
  • vue

更多

Vue3.0 核心源码解读 | 模板解析:构造 AST 的完整流程是怎样的?(上)

2021年01月15日 留言
Vue.js 3.0 的编译场景分服务端 SSR 编译和 web 编译,本文我们只分析 web 的编译。
  • vue

更多

Vue3.0核心源码解读 | 依赖注入:子孙组件如何共享数据?

2021年01月15日 留言
Vue.js 为我们提供了很多组件通讯的方式,常见的是父子组件通过 prop 传递数据。但是有时,我们希望能跨父子组件通讯,比如,无论组件之间嵌套多少层级,我都希望在后代组件中能访问它们祖先组件的数据。
  • vue

更多

Vue3.0核心源码解读 | 生命周期:各个生命周期的执行时机和应用场景是怎样的?

2021年01月14日 留言
Vue.js 组件的生命周期包括创建、更新、销毁等过程。在这些过程中也会运行叫生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。
  • vue

更多

Vue3.0核心源码解读 | 侦听器:侦听器的实现原理和使用场景是什么?(下)

2021年01月13日 留言
在前面的内容中,我们多次提到回调函数是以一个调度的方式执行的,特别是当 flush 不是 sync 时,它会把回调函数执行的任务推到一个异步队列中执行。接下来,我们就来分析异步执行队列的设计。
  • vue

更多

Vue3.0核心源码解读 | 侦听器:侦听器的实现原理和使用场景是什么?(上)

2021年01月12日 留言
在平时的开发工作中,我们经常使用侦听器帮助我们去观察某个数据的变化然后去执行一段逻辑。
  • vue

更多

Vue3.0核心源码解读 | 计算属性:计算属性比普通函数好在哪里?

2021年01月10日 留言
计算属性是Vue.js开发中一个非常实用的 API,它允许用户定义一个计算方法,然后根据一些依赖的响应式数据计算出新值并返回。当依赖发生变化时,计算属性可以自动重新计算获取新值,所以使用起来非常方便。
  • vue

更多

Vue3.0核心源码解读 | 响应式:响应式内部的实现原理是怎样的?(下)

2021年01月09日 留言
派发通知发生在数据更新的阶段,由于我们用 Proxy API 劫持了数据对象,所以当这个响应式对象属性更新的时候就会执行 set 函数。
  • vue

更多

Vue3.0核心源码解读 | 响应式:响应式内部的实现原理是怎样的?(上)

2021年01月08日 留言
除了组件化,Vue.js 另一个核心设计思想就是响应式。它的本质是当数据变化后会自动执行某个函数,映射到组件的实现,就是当数据变化后,会自动触发组件的重新渲染。
  • vue

更多

Vue3.0核心源码解读 | Setup:组件渲染前的初始化过程是怎样的?

2020年12月30日 留言
Vue.js 3.0 允许我们在编写组件的时候添加一个 setup 启动函数,它是 Composition API 逻辑组织的入口,今天我们就来分析一下这个函数。
  • vue

更多

Vue3.0核心源码解读 | 组件更新:完整的Dom Diff流程(下)

2020年12月24日 留言
新子节点数组相对于旧子节点数组的变化,无非是通过更新、删除、添加和移动节点来完成,而核心 diff 算法,就是在已知旧子节点的 DOM 结构、vnode 和新子节点的 vnode 情况下,以较低的成本完成子节点的更新为目的,求解生成新子节点 DOM 的系列操作。
  • vue

更多

上一页12345…8下一页

最新文章

  • Lint-Staged 与 Ls-Lint 配合使用时的陷阱
  • 页面添加动态水印的处理方法
  • 前端项目如何自定义页面Import排序?
  • 图片二进制流如何在页面显示?
  • 如何编写Vue3组件测试用例?
  • Vue3项目如何利用vitest做单元测试
  • 《第一本Docker书》--读书笔记
  • 基于ElementPlus封装的季度选择器组件
  • 掘金小册-Electron+Vue3桌面应用开发学习记录
  • 如何使用Monorepo实现跨项目共享组件和模块
  • 手写Promise思考过程
  • 如何解决Electron应用安装在C盘没有权限更新的问题
  • 如何用Electron+vue+vite构建桌面端应用(三)
  • 如何用Electron+vue+vite构建桌面端应用(二)
  • 从源码分析为什么Electron+vue项目中router不能用history模式
  • 如何用Electron+vue+vite构建桌面端应用(一)
  • 如何在国产银河麒麟系统Mips架构上离线安装electron
  • 《学习Javascript数据结构和算法》--读书笔记
  • 极客时间-正则表达式

标签云

AngularJs Apache ArrayBuffer Axios Blob Bootstrap CSS Canvas CentOS Charles Docker ElementPlus Eslint Git Gitlab Gulp HTML HTML5 HTTP HTTPS Husky JavaScript Jenkins Linux Mac MutationObserver MySQL Nginx Node.js PHP Photoshop React Redux Regexp SSE SublimeText3 Svg Typescript Vagrant Vim Vitest Vue Vue3 WEB Webpack Wireshark Yii electron hexo jQuery kylin lint-staged ls-lint monorepo ssh vite vscode vue vue3 前端监控 微信小程序 数据结构 算法

分类

  • Bootstrap3
  • Electron7
  • HTML-CSS13
  • HTML51
  • JavaScript12
  • Linux1
  • MySQL1
  • Node.js1
  • PHP4
  • Photoshop1
  • Regexp1
  • Typescript2
  • Vue34
  • WEB9
  • jQuery2
  • 其他3
  • 前端翻译2
  • 开发工具18
  • 开发问题记录7
  • 算法15
  • 读书笔记19

归档

  • 2026年1
  • 2023年5
  • 2022年12
  • 2021年40
  • 2020年20
  • 2019年11
  • 2018年12
  • 2017年26
  • 2016年27

收藏

  • 深入理解互联网协议的原理
  • JavaScript 标准参考教程
  • JavaScript代码优化之道
  • 简述 js 的代码整洁之道
  • Vue3.0核心源码解读

网站地图 | 订阅本站 | 联系博主

,

Copyright © 2026 Jesse. Powered by Hexo.