《你不知道的JavaScript》第二章笔记 发表于 2024-01-13 更新于 2025-03-09 分类于 thinks 前言 在javascript的开发中,经常会遇到this这个关键字。简单的说this是个特殊变量。但是在javascript中,this的使用经常让我感到困惑,这篇文章是阅读《你不知道的JavaScript》中第二章this的全面解析笔记。 调用位置 this的绑定结果就是this在代码中调用的位置 阅读全文 »
Vue项目中配置vuex版本问题错误 发表于 2024-01-11 更新于 2025-03-09 分类于 share 踩坑记录 Uncaught TypeError Object(...) is not a function 原本旧项目框架的问题,导致打包的内容比较大,vendor这种文件达到了4M,个人感觉是存在一些问题的,想着优化下,正巧同事做了新模版,打包之后整体文件也就在2M左右,太强了,看来vue-cl 阅读全文 »
vue3源码学习11-h方法和createVnode方法实现 发表于 2024-01-11 更新于 2025-03-09 分类于 thinks 摘要 在实际开发中,经常用到h方法来实现页面,常见的组件中也有render,h这种写法。例如iview的table中 那么h用法也有很多的多样性。例如 h("div",{style{color "black"}}) h("div",h('span')) h('div', [h('span'),h 阅读全文 »
wget 正在连接 127.0.0.1!8889... 失败:拒绝连接 发表于 2024-01-11 更新于 2025-03-09 分类于 other 解决方法 之前给linux做过代理配置。好久没用,代理失效了。其中设置了端口也不知道在哪里设置的 定位问题 sudo netstat -ntpl 发现并没有服务在占用端口8889 查看本地网络是否走了代理服务 export | grep -i proxy 在找到了被占用的端口的8889, 确实是 阅读全文 »
vue3源码学习-9-ref的实现 发表于 2024-01-11 更新于 2025-03-09 分类于 thinks 摘要 在页面编写中,之前都是使用reactive来包裹对象,这样对象属性的值改变,其对应的effect包裹渲染动作就会被触发。并且通常有函数解构的操作,例如let people = reactive({name"张三",age24}); let {name,age} = people;。如果这么 阅读全文 »
vue3源码学习10-runtime-dom实现 发表于 2024-01-11 更新于 2025-03-09 分类于 thinks 摘要 前面主要是vue的源码仿写,最主要的是vue的响应式,以及依赖收集。是一个简易版本,和官方源码还是有很多细微差别的,例如数组代理之后改变数组长度,会触发更新之类的。数组还会被收集长度这种依赖关系,以及数组的一些splice,push,shift,unshift,pop这些方法重写,来完成修复一 阅读全文 »
vue3源码学习-4-effect编写以及依赖收集 发表于 2024-01-11 更新于 2025-03-09 分类于 thinks 前言 经过上文的响应式编写之后,实现了数据包裹之后变成了响应式数据,用户修改数据的时候能监听到操作。 但是实际编写的响应式reactive.ts中最核心的是Proxy中的get和set方法。为此我们本次需要将核心代码抽离,并且编写effect副作用函数和依赖收集功能,这样函数依赖发生改变,他就重新执 阅读全文 »
vue3源码学习-6-调度器 发表于 2024-01-11 更新于 2025-03-09 分类于 thinks 前言 经过第5章对于分支切换的操作之后,vue的effect源码就具有了收集需要的依赖,对于改变不必要的数据,不会触发依赖的更新。那么今天就要实现vue3的调度器代码,之前effect只能同步运行代码,无法对于异步操作进行数据更新。 官方的写法是什么样子呢? let flag = false; 阅读全文 »
vue3源码学习-7-computed的实现 发表于 2024-01-11 更新于 2025-03-09 分类于 thinks 前言 回顾上期的内容,编写了effect中的调度器,主要修改了effect.ts文件。在预览之前的代码的时候会发现一些优化的地方。 在vue代码的需求编辑中,会遇到这样一个例子。例如一个人的姓名分为姓和名,那么我希望在页面上打印出这个人的姓+名,而且在姓或者名改变的时候,页面渲染也会改变。那么就用到 阅读全文 »
vue3源码学习-8-watch 发表于 2024-01-11 更新于 2025-03-09 分类于 thinks 前言 本文学习编写watch功能函数。首先,先去使用下官方的watch做一些简单的小功能测试。 阅读全文 »