首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
vue2源码解析及实现
xwya
创建于2023-12-11
订阅专栏
vue2底层深入了解
暂无订阅
共6篇文章
创建于2023-12-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
6.依赖收集
前言 vue2采用的是观察者的模式每个属性初始化进行劫持的时候会对每个属性创建dep,再将dep存放到渲染的watcher中,当属性发生更改时就会去通知属性的dep然后去调用渲染watcher. De
5.生命周期调用
前言 vue2的生命周期采用Vue.Mixin()去全局混入,然后在使用订阅发布的模式去调用生命周期 以数组的形式去订阅 格式:{created:[a(),b(),c()],....} src目录改动
4. 将ast树变成render函数并渲染真实dom
前言 这篇文章渲染模板到页面不包含diff算法 改动src文件目录 compile文件夹改动 提取index.js文件中生成的ast语法树代码到parseAst.js文件中 parseAst.js文件
3. 获取html模板创建ast树
前言 看vue2官网的生命周期图可以得到结论: vue初次渲染 => 先初始化数据 => 将模板进行编译 => 变成render() => 生成虚拟节点 => 变成真实DOM=>放到页面 vue中模板
2. 初始化vue(数据劫持)
2. 初始化vue数据劫持 缺点: 只能对对象中的一个属性进行劫持 需要遍历 需要递归 目录: src/index.js: src/init.js: src/initState.js: src/obs
1. 搭建实现vue架构环境(rollup的环境配置)
1.rollup的环境配置 第一步:初始化项目 pnpm init 第二步:安装所需要的依赖 pnpm add @babel/preset-env @babel/core rollup rollup-