作者:小土豆biubiubiu 博客园:https://www.cnblogs.com/HouJiao/ 掘金:https://juejin.im/user/58c61b4361ff4b005d9e894d 简书:https://www.jianshu.com/u/cb1c3884e6d5 微信公众号:土豆妈的碎碎念(扫码关注,一起吸猫,一起听故事,一起学习前端技术) 欢迎大家扫描微信二维码进入群聊讨论(若二维码失效可添加微信JEmbrace拉你进群): 码字不易,点赞鼓励哟~ 温馨提示 本篇文…
作者:小土豆biubiubiu 博客园:https://www.cnblogs.com/HouJiao/ 掘金:https://juejin.im/user/58c61b4361ff4b005d9e894d 简书:https://www.jianshu.com/u/cb1c3884e6d5 微信公众号:土豆妈的碎碎念(扫码关注,一起吸猫,一起听故事,一起学习前端技术) 欢迎大家扫描微信二维码进入群聊讨论(若二维码失效可添加微信JEmbrace拉你进群) 码字不易,点赞鼓励哟~ 温馨提示 本篇文章…
大致流程 具体流程 组件化 (createComponent) 构造⼦类构造函数 const baseCtor = context.$options._base // plain options object: turn it into a constructor if (isObject(Ctor)) { Ctor = baseCtor.extend(Ctor) } 创立BaseCtor Vue.options._base =Vue Vue.extend的作⽤就是构造⼀个Vue的⼦类,它使⽤⼀…
概述 由于刚开始学习 vue 源码,而且水平有限,有理解或表述的不对的地方,还请不吝指教. vue 主要通过 Watcher.Dep 和 Observer 三个类来实现响应式视图.另外还有一个 scheduler 来进行调度,本次暂时不做讨论. Watcher 和 Dep 是订阅者和发布者的关系,每个 Watcher 可以订阅多个 Dep,而每个 Dep 也可以被多个 Watcher 订阅.当 Observer 监听的数据发生改变时,相应的 Dep 就会触发其订阅者 Watcher 更新视图.…
作者:小土豆biubiubiu 博客园:www.cnblogs.com/HouJiao/ 掘金:https://juejin.im/user/58c61b4361ff4b005d9e894d 简书:https://www.jianshu.com/u/cb1c3884e6d5 微信公众号:土豆妈的碎碎念(扫码关注,一起吸猫,一起听故事,一起学习前端技术) 码字不易,点赞鼓励哟~ 一.前言 一起学习vue源码的第一篇,本来想起名为双向数据绑定原理,但是想来还是引用书中[深入浅出vue.js]比较专业…
系列文章: 手牵手,从零学习Vue源码 系列一(前言-目录篇) 手牵手,从零学习Vue源码 系列二(变化侦测篇) 手牵手,从零学习Vue源码 系列三(虚拟DOM篇) 陆续更新中... 预计八月中旬更新完毕. 1 前言 作为一名前端开发人员,日常开发使用Vue.js,对于各种Api使用都是只知其然而不知其所以然,不想日复一日的从入门到入门,我们已经都这个岁数了,是时候做出一些改变了! 于是我决定从即日起从GitHub上clone下来一份Vue.js源码来深入研究,本系列将一直更新至博文对Vue源码…
系列文章: 手牵手,从零学习Vue源码 系列一(前言-目录篇) 手牵手,从零学习Vue源码 系列二(变化侦测篇) 陆续更新中... 预计八月中旬更新完毕. 1 概述 Vue最大的特点之一就是数据驱动视图,那么什么是数据驱动视图呢? 其实,我们可以把数据理解为状态,而视图就是用户可直观看到页面.页面不可能是一成不变的,它应该是动态变化的,而它的变化也应该是有迹可寻的,或者是由用户操作引起的,亦或者是由后端数据变化引起的,当状态发生改变时,页面也就应该随之而变化,所以我们就可以得到如下一个公式: U…
7项重要储备 Flow 基本语法 发布/订阅模式 ES6+ 语法 原型链.闭包 函数柯里化 event loop 接上讲 聊到了ES6的几个重要语法,加下来到第四点继续开始. 4.原型链.闭包 原型链 继承于我们前端来说绝对是非常熟悉也必须熟悉的一个高频必懂知识点.熟悉到只要是面试一定会有关于继承的问题:而且源码中继承的使用也随处可见. 可依旧有很多前端对继承的实现和应用没有一个整体的把握.追其原因无非有二: ECMAScript 继承的实现方法区别于其他基于类的实现继承的面向对象(Object…
从接下来的一段时间里,Mg要进行阅读源码的工作.再阅读源码前,梳理一下准备工作. 7项重要储备 Flow 基本语法 发布/订阅模式 ES6+ 语法 原型链.闭包 函数柯里化 event loop 1.flow 1.1 什么是flow 没有类型的静态检查是 JavaScript 语言的先天缺失,所有很多变量类型相关的问题只能在运行阶段暴露出来.为了使 JavaScript 语言的类型更加安全,业界的实践有 TypeScript:这些都需要你重新学习一套语言语法,然后由编译器把相应的代码编译成原生的…
目前,前端领域中 React 势头正盛,很少能够深入剖析内部实现机制和原理.本系列文章希望通过剖析 React 源码,理解其内部的实现原理,知其然更要知其所以然. 对于 React,其组件生命周期(Component Lifecycle)是它的核心概念,本文从源码入手,来剖析 React 生命周期的管理艺术. 阅读本文需要对 React 有一定的了解,如果你不知何为组件的生命周期,请详读 React 生命周期的文档. 如果你对 React 组件的生命周期存在些许疑惑,如生命周期如何顺序管理:se…