上一页 1 ··· 3 4 5 6 7 8 9 10 下一页
摘要: 背景 在 Vue 的初始化阶段,_init 方法执行的时候,会执行 initState(vm) ,它的定义在 src/core/instance/state.js 中。在初始化 data 和 props option 时我们注意 initProps 和 initData 方法中都调用了 observ 阅读全文
posted @ 2022-10-26 14:28 yyds2026 阅读(48) 评论(0) 推荐(0)
摘要: Vue3自定义Hooks定义: 个人理解:一些可复用的方法像钩子一样挂着,可以随时被引入和调用以实现高内聚低耦合的目标,应该都能算是hook; 为什么Vue3要用自定义Hook?: 结论:就是为了让Compoosition Api更好用更丰满,让写Vue3更畅快!像写诗一样写代码! 其实这个问题更深 阅读全文
posted @ 2022-10-25 12:28 yyds2026 阅读(220) 评论(0) 推荐(0)
摘要: Vue 的核心之一就是响应式系统,通过侦测数据的变化,来驱动更新视图。 实现可响应对象的方式 通过可响应对象,实现对数据的侦测,从而告知外界数据变化。实现可响应对象的方式: getter 和 setter defineProperty Proxy 关于前两个 API 的使用方式不多赘述,单一的访问器 阅读全文
posted @ 2022-10-25 12:27 yyds2026 阅读(188) 评论(0) 推荐(0)
摘要: 相信大家在写vue项目的时候,一定会发现一个神奇的api,Vue.nextTick。为什么说它神奇呢,那是因为在你做某些操作不生效时,将操作写在Vue.nextTick内,就神奇的生效了。那这是什么原因呢? 让我们一起来研究一下。 简述 vue 实现响应式并不是数据发生变化后 DOM 立即变化,而是 阅读全文
posted @ 2022-10-24 18:40 yyds2026 阅读(34) 评论(0) 推荐(0)
摘要: 起初 Vue3.0 暴露变量必须 return 出来,template 中才能使用; Vue3.2 中 只需要在 script 标签上加上 setup 属性,组件在编译的过程中代码运行的上下文是在 setup() 函数中,无需 return,template 可直接使用。 本文章以Vue2的角度学习 阅读全文
posted @ 2022-10-24 18:35 yyds2026 阅读(142) 评论(0) 推荐(0)
摘要: 模板tamplate经过parse,optimize,generate等一些列操作之后,把AST转为render function code进而生成虚拟VNode,模板编译阶段基本已经完成了,那么这一章,我们来探讨一下Vue中的一个算法策略--dom diff 首先来介绍下什么叫dom diff 什 阅读全文
posted @ 2022-10-21 08:50 yyds2026 阅读(43) 评论(0) 推荐(0)
摘要: 先来看生成虚拟dom的入口文件: ... import { parse } from './parser/index' import { optimize } from './optimizer' import { generate } from './codegen/index' ... cons 阅读全文
posted @ 2022-10-21 08:36 yyds2026 阅读(29) 评论(0) 推荐(0)
摘要: 我们先来关注一下$mount是实现什么功能的吧: 我们打开源码路径core/instance/init.js: export function initMixin (Vue: Class<Component>) { ...... initLifecycle(vm) // 事件监听初始化 initEv 阅读全文
posted @ 2022-10-19 15:58 yyds2026 阅读(102) 评论(0) 推荐(0)
摘要: 这一章我们开始讲模板解析编译:总结来说就是通过compile函数把tamplate解析成render Function形式的字符串compiler/index.js import { parse } from './parser/index' import { optimize } from './ 阅读全文
posted @ 2022-10-19 15:49 yyds2026 阅读(35) 评论(0) 推荐(0)
摘要: 这一章就着重讲两个点: 响应式系统如何收集依赖 响应式系统如何更新视图 我们知道通过Object.defineProperty做了数据劫持,当数据改变的时候,get方法收集依赖,进而set方法调用dep.notify方法去通知Watcher调用本身update方法去更新视图。那么我们抛开其他问题,就 阅读全文
posted @ 2022-10-19 15:42 yyds2026 阅读(35) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 下一页