回答了问题2021-01-20
用箭头函数 {代码...}
回答了问题2020-12-29
我不太清楚strem.write()里具体源代码是什么,但是根据你的描述和报错信息,可以大概率猜测是因为代理后this指向出了问题,你可以打断点到具体报错的代码行看看是不是这个原因。具体可以参考[链接]
发布了文章2020-10-06
这段代码的目的主要就是为Vue实例的_renderProxy属性赋值,而这个_renderProxy目测就是用在render函数中的。我们在vue/src/core/instance/render.js中发现了这样的代码:
发布了文章2020-08-16
它接受3个参数,其中后面两个很好理解:一个是new Vue(options)时传进来的参数options;一个是初始化最开始就定义的变量const vm: Component = this,它指向了该Vue实例。那么这第一个参数是个啥玩意?这个函数返回了啥东西?
赞了文章2020-07-22
javaScript这门语言真的很有意思,就算你对他不怎么了解,只是简单的知道一点点,在日常使用中也完全没问题,毕竟我就是这样的工作了一段时间,虽然我不是很懂他,但是完成业务也没什么压力,可是为了能多赚一点钱,我决定把javaScript搞懂,就从作用域开始吧。
赞了文章2020-07-21
这期来关注一下CodeSandbox, 这是一个浏览器端的沙盒运行环境,支持多种流行的构建模板,例如 create-react-app、 vue-cli、parcel等等。 可以用于快速原型开发、DEMO 展示、Bug 还原等等.
赞了文章2020-07-14
Three.JS是基于WebGL的Javascript开源框架,一模一样的效果我也有用webGL做过,链接是这个[链接] html部分还是很简单 {代码...} 下面是js部分,每行代码都有比较详细的注释解释 {代码...} 效果:
赞了文章2020-07-14
html部分还是比较简单,引入的matrix.js是矩阵变换的一些方法,网上有很多,大家可以搜一搜(我的线性代数知识已经还给我的高数老师了,最近考虑着手捡起来)
赞了文章2020-07-05
Koa 是当下主流 NodeJS 框架,以轻量见长,而它中间件机制与相对传统的 Express 支持了异步,所以编码时经常使用 async/await,提高了可读性,使代码变得更优雅,上一篇文章 NodeJS 进阶 —— Koa 源码分析,也对 “洋葱模型” 和实现它的 compose 进行分析,由于个人觉...
发布了文章2020-06-11
initInternalComponent方法接受两个参数,第一个参数是组件实例,即this。第二个参数是组件构造函数中传入的option,这个option根据上文的分析,他是在createComponentInstanceForVnode方法中定义的:
发布了文章2020-06-11
从上面if else能看出来,合并策略有两个,当选项存在并且_isComponent为true时,执行的是initInternalComponent,否则执行mergeOptions。那么什么情况下_isComponent会为true呢?
发布了文章2020-05-26
我们在new Vue的时候用chrome打个断点,用下面这个step into next function call的工具看看这个new Vue到底调用了什么方法
赞了文章2020-05-20
mergeOptions方法,我们之后的博文再来做详细介绍。今天主要研究resolveConstructorOptions方法,从字面意思来看,这个方法是来解析constructor上的options属性的。我们来看源码。
发布了文章2020-05-19
Performace API允许访问当前页面性能相关的信息,它用于精确度量、控制、增强浏览器的性能表现。这个API为测量网站性能,提供以前没有办法做到的精度。比如我们想知道,Vue初始化的准确耗时,我们可以使用Date对象的getTime方法,这样去做:
赞了文章2020-05-18
上篇博文中说到了Vue源码的目录结构是什么样的,每个目录的作用我们应该也有所了解。我们知道core/instance目录主要是用来实例化Vue对象,所以我们在这个目录下面去寻找Vue构造函数。果然我们找到了Vue的构造函数定义。
赞了文章2020-05-15
可喜的是,标准化之路马上就要完成了。等到 2018 年 5 月 Firefox 60 发布之后,所有的主流浏览器就都支持 ESM 了。同时,Node 模块工作小组也正在为 Node.js 添加 ESM 支持。为 WebAssembly 提供 ESM 集成的工作也正在如火如荼的进行。
赞了文章2020-05-08
SPDY 系列协议由谷歌开发,于 2009 年公开。它的设计目标是降低 50% 的页面加载时间。当下很多著名的互联网公司,例如百度、淘宝、UPYUN 都在自己的网站或 APP 中采用了 SPDY 系列协议(当前最新版本是 SPDY/3.1),因为它对性能的提升是显而易见的。主流的浏览器(...
赞了文章2020-05-06
在一般情况之下, 我们普遍使用 global event bus 来解决全局状态共享, 组件通讯的问题, 当遇到大型应用的时候, 这种方式将使代码变得难以维护, Vuex应运而生, 接下来我将从源码的角度分析Vuex的整个实现过程.
发布了文章2020-05-05
这都是最普通的插件写法,使用的时候,improt toast form XXX 引入index.js,并且Vue.use一下,就能直接在组件中用this.$toast使用。
赞了文章2020-04-30
本来打算自己造一个transition的轮子,所以决定先看看源码,理清思路。Vue的transition组件提供了一系列钩子函数,并且具有良好可扩展性。