后续 ...
转载 2021-11-02 18:00:00
177阅读
2评论
src\platforms\web\entry-runtime-with-compiler.js 源码开始位置(引入了Vue构造函数) 扩展$mount,处理可能存在的templete或者el选项,重新编译template为render函数 src\platforms\web\runtime\ind ...
转载 2021-10-21 17:59:00
340阅读
2评论
一、理解Vue批量异步更新策略 异步更新队列:Vue高效的秘诀是批量、异步的更新策略 首先来了解下Event Loop事件循环机制 事件循环Event Loop:浏览器为了协调事件处理、脚本执行、网络请求和渲染等任务而制定的工作机制 看源码执行过程 在Object.defineReactive()中 ...
转载 2021-10-22 18:12:00
375阅读
2评论
研究组件的注册//组件注册// ASSET_TYPES = ['component','filter','directive'] ASSET_TYPES.forEach(type => { // 声明静态的方法: Vue.component = function(){} // 平时声明的组件是Vue ...
转载 2021-10-26 14:47:00
297阅读
2评论
一、理解Vue批量异步更新策略 异步更新队列:Vue高效的秘诀是批量、异步的更新策略 首先来了解下Event Loop事件循环机制 事件循环Event Loop:浏览器为了协调事件处理、脚本执行、网络请求和渲染等任务而制定的工作机制 看源码执行过程 在Object.defineReactive()中 ...
转载 2021-10-22 18:12:00
146阅读
2评论
业精于勤荒于嬉今天又听了一节课,吸收的没那么好,但也是有收获,一直想像看Android 源码那样,研究研究Vue源码,苦于不知道从何下手,听了这节课,大概知道应该从哪里入手了。项目地址:https://github.com/vuejs/vue 迁出项目: git clone https://github.com/vuejs/vue.git 当前版本号:2.6.X 入口 dev脚本中 -
 Vue 的初始化过程:执行编译,生成 render 函数。一系列的初始化,数据响应式化,触发对应的生命周期钩子。执行挂载的逻辑,先生成虚拟 DOM,再生成真实 DOM,更新的逻辑也是这样,只不过多出了对比虚拟 DOM 的一个步骤一、我们到 vue仓库 下载 Vue2.6.14 的源码。https://github.com/vuejs/先来看一下整体目录结构
转载 2024-05-19 10:31:57
58阅读
一、vue2源码目录compiler:将template编译成 render 函数。对于在线编译,render 在运行时执行,执行时会生成 vnodecore:核心platform:web平台、weex多平台、mpvue小程序端server:服务端渲染sfc:单文件处理,将.vue文件的template、script、style拆分shared:工具、常量二、compiler 运行时、编译时运行时
Vue.js 的源码都在 src 目录下,其目录结构如下src ├── compiler # 编译相关 ├── core # 核心代码 ├── platforms # 不同平台的支持 ├── server # 服务端渲染 ├── sfc # .vue 文件解析 ├── shared #
现代主流框架均使用一种数据=>视图的方式,隐藏了繁琐的dom操作,采用了声明式编程(Declarative Programming)替代了过去的类jquery的命令式编程(Imperative Programming) 前者我们详细地写了如何去操作dom节点的过程,我们命令什么,它就操作什么;后者则
原创 2022-04-06 10:39:05
158阅读
起因自从 Vue3 更新之后,算是投入了比较大的精力写了一个较为完善的Vue3.2 + Vite2 + Pinia + Naive UI的 B 端模版,在做到网络请求这一块的时候,最初使用的是VueRequest的useRequest,但是因为VueRequest的useRequest的cancel关闭请求并不是真正的关闭,对我个人来说,还是比较介意,于是在参考aHooks和VueRequest的
转载 2024-10-16 10:34:01
93阅读
re
原创 2023-02-12 01:26:46
48阅读
vue源码目录 vue/src/core/util/next-tick.js nextTick 入参是一个回调函数,这个回调函数就是一个任务 每次接受任务nextTick不会立即执行,而是把它push到callbacks这个异步队列里 检查pending的值,如果为false,意味着“现在还没有一个 ...
转载 2021-10-22 16:35:00
317阅读
2评论
index.js import { initState } from "./init"; //传入对象参数 function Vue(options) { //传入options console.log(this, "this"); this._init(options); } //初始化 Vue.
原创 2022-08-28 00:06:47
87阅读
首先我们要知道VUE实现双向绑定的步骤是什么: 实现一个监听器 Observer 对数据对象进行遍历,包括子属性对象的属性,利用 Object.defineProperty() 对属性都加上 setter 和 getter。这样的话,给这个对象的某个值赋值,就会触发 setter,那么就能监听到了数
原创 2023-03-27 06:33:30
431阅读
首先我们要知道VUE实现双向绑定的步骤是什么: 实现一个器 Observer 对数据对象进行遍历,包括子属性对象的属性,利用 Object.defineProperty() 对属性都加上 setter 和 getter。这样的话,给这个对象的某个值赋值,就会触发 setter,那么就能到了数
原创 2022-09-19 16:37:55
449阅读
1.[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or comp
转载 2017-10-16 19:00:00
346阅读
2评论
又看完一遍中文社区的教程接下来开始做vue2.0的源码解读了!注:解读源码时一定要配合vue2.0的生命周期和API文档一起看vue2.0的生命周期分为4主要个过程create。 创建---实例化Vue(new Vue) 时,会先进行create。mount。挂载---根据el, template, render方法等属性,会生成DOM,并添加到对应位置。update。更新---当数据发生变化后,
跨域设置 http://www.ituring.com.cn/article/200275 打包 npm adduser 如果长时间不登录,可能会过期,使用 npm login 进行登录就可以 pu
原创 2021-07-23 11:32:15
393阅读
eslint用于代码检查,prettier用于代码格式化,具体操作如下1.安装以下eslint插件 安装以下eslint插件,并增加.eslintrc.js配置文件,.eslintignore配置忽略检查的文件(1)eslint 用于检查和标示出ECMAScript/JavaScript代码规范问题工具。 (2)@babel/eslint-parser 简而言之就是一个解析器,允许您使用ES
转载 2024-05-29 12:57:59
283阅读
  • 1
  • 2
  • 3
  • 4
  • 5