获得徽章 1
赞了这篇文章
赞了这篇文章
#青训营笔记创作活动#
2月14日打卡day36
今天阅读了第三十六篇文章,学习了在vue中,不能用index作为key。vue中key运用的地方------配合v-for使用。key是vue中虚拟dom标记的唯一标识,通过这个key,diff算法能更加准确和快捷。不使用key的情况下,因为vue的就地更新会选择复用节点,之前的状态被保存,可能会产生一系列的bug。另外,key的唯一性可以被map数据结构充分利用,时间复杂度仅为o(1)。简单来说,key是唯一标识,为了让diff算法更准确的找到需要被对比的两个节点。
2月14日打卡day36
今天阅读了第三十六篇文章,学习了在vue中,不能用index作为key。vue中key运用的地方------配合v-for使用。key是vue中虚拟dom标记的唯一标识,通过这个key,diff算法能更加准确和快捷。不使用key的情况下,因为vue的就地更新会选择复用节点,之前的状态被保存,可能会产生一系列的bug。另外,key的唯一性可以被map数据结构充分利用,时间复杂度仅为o(1)。简单来说,key是唯一标识,为了让diff算法更准确的找到需要被对比的两个节点。
展开
评论
点赞
#青训营笔记创作活动#
2月13日打卡day35
今天阅读了第三十五篇文章,学习了不使用第三方库实现前端引导页功能。随着应用功能越来越多,繁多而详细的功能使用和说明文档,已经不能满足时代追求 快速 的需求,而 引导页(或分步引导) 本质就是 化繁为简,将核心功能以更简单、简短、明了的文字指引用户去使用对应的功能,特别是 ToB 的项目,各种新功能需求迭代非常快,免不了需要 引导页 的功能来快速帮助用户引导。
2月13日打卡day35
今天阅读了第三十五篇文章,学习了不使用第三方库实现前端引导页功能。随着应用功能越来越多,繁多而详细的功能使用和说明文档,已经不能满足时代追求 快速 的需求,而 引导页(或分步引导) 本质就是 化繁为简,将核心功能以更简单、简短、明了的文字指引用户去使用对应的功能,特别是 ToB 的项目,各种新功能需求迭代非常快,免不了需要 引导页 的功能来快速帮助用户引导。
展开
评论
点赞
#青训营笔记创作活动#
2月12日打卡day34
今天阅读了第三十四篇文章,学习了提升代码可读性,减少if-else的几个小技巧。1.Javascript 的逻辑或 || 的短路运算有时候可以用来代替一些比较简单的 if else。
2.使用三元运算符去替代 if else,这里只推荐 一层 三元运算符。
3.switch case,虽然它的可读性确实比 else if 更高。
4.对象配置看起来跟 策略模式 差不多,都是根据不同得参数使用不同得数据/算法/函数。策略模式就是将一系列算法封装起来,并使它们相互之间可以替换。被封装起来的算法具有独立性,外部不可改变其特性。
2月12日打卡day34
今天阅读了第三十四篇文章,学习了提升代码可读性,减少if-else的几个小技巧。1.Javascript 的逻辑或 || 的短路运算有时候可以用来代替一些比较简单的 if else。
2.使用三元运算符去替代 if else,这里只推荐 一层 三元运算符。
3.switch case,虽然它的可读性确实比 else if 更高。
4.对象配置看起来跟 策略模式 差不多,都是根据不同得参数使用不同得数据/算法/函数。策略模式就是将一系列算法封装起来,并使它们相互之间可以替换。被封装起来的算法具有独立性,外部不可改变其特性。
展开
评论
点赞
#青训营笔记创作活动#
2月11日打卡day33
今天阅读了第三十三篇文章,学习了一个登录案例包学会 Pinia。Pinia 号称下一代的 Vuex。
经过初步体验,发现相比于 Vuex,Pinia 确实有了很大进步,最明显的就是删减了复杂的概念,简化了数据流转的过程,现在只剩下了 store、state、getters、actions 这四个核心概念。
接下来使用一个用户登录的案例,来学习 Pinia 的使用。
需要用到:
vite:创建和管理 vue 项目
pinia:状态管理
axios:网络请求
vite-plugin-mock:提供登录的 mock 接口
pinia-plugin-persistedstate:状态持久化插件
2月11日打卡day33
今天阅读了第三十三篇文章,学习了一个登录案例包学会 Pinia。Pinia 号称下一代的 Vuex。
经过初步体验,发现相比于 Vuex,Pinia 确实有了很大进步,最明显的就是删减了复杂的概念,简化了数据流转的过程,现在只剩下了 store、state、getters、actions 这四个核心概念。
接下来使用一个用户登录的案例,来学习 Pinia 的使用。
需要用到:
vite:创建和管理 vue 项目
pinia:状态管理
axios:网络请求
vite-plugin-mock:提供登录的 mock 接口
pinia-plugin-persistedstate:状态持久化插件
展开
评论
点赞
#青训营笔记创作活动#
2月10日打卡day32
今天阅读了第三十二篇文章,学习了前端实现docx、pdf格式文件在线预览。
docx的实现需要使用docx-preview插件
安装
npm i docx-preview
使用创建一个容器标签
<div ref="file" v-show="extend == 'docx'"></div>
2月10日打卡day32
今天阅读了第三十二篇文章,学习了前端实现docx、pdf格式文件在线预览。
docx的实现需要使用docx-preview插件
安装
npm i docx-preview
使用创建一个容器标签
<div ref="file" v-show="extend == 'docx'"></div>
展开
评论
点赞
#青训营笔记创作活动#
2月9日 打卡day31
今天阅读了第三十一篇文章,学习了前端工程化基石 -- AST(抽象语法树)以及AST的广泛应用。
整体思路:
第一步:需要捕获那些能够生成作用域的节点(函数、类的函数、函数表达式、语句块、if else 、while、for等),因为只要有作用域,就有可能会使用变量
第二步:给这些作用域内的捕获到的变量重新命名,进行简化
2月9日 打卡day31
今天阅读了第三十一篇文章,学习了前端工程化基石 -- AST(抽象语法树)以及AST的广泛应用。
整体思路:
第一步:需要捕获那些能够生成作用域的节点(函数、类的函数、函数表达式、语句块、if else 、while、for等),因为只要有作用域,就有可能会使用变量
第二步:给这些作用域内的捕获到的变量重新命名,进行简化
展开
评论
点赞
#青训营笔记创作活动#
2月8日 打卡day30
今天阅读了第三十篇文章,学习了Qiankun原理——JS沙箱是怎么做隔离的。qiankun 一共有 3 种沙箱:
SnapshotSandbox:记录 window 对象,每次 unmount 都要和微应用的环境进行 Diff
LegacySandbox:在微应用修改 window.xxx 时直接记录 Diff,将其用于环境恢复
ProxySandbox:为每个微应用分配一个 fakeWindow,当微应用操作 window 时,其实是在 fakeWindow 上操作
要和这些沙箱结合起来使用,qiankun 会把要执行的 JS 包裹在立即执行函数中,通过绑定上下文和传参的方式来改变 this 和 window 的值,让它们指向 window.proxy 沙箱对象,最后再用 eval 来执行这个函数。
2月8日 打卡day30
今天阅读了第三十篇文章,学习了Qiankun原理——JS沙箱是怎么做隔离的。qiankun 一共有 3 种沙箱:
SnapshotSandbox:记录 window 对象,每次 unmount 都要和微应用的环境进行 Diff
LegacySandbox:在微应用修改 window.xxx 时直接记录 Diff,将其用于环境恢复
ProxySandbox:为每个微应用分配一个 fakeWindow,当微应用操作 window 时,其实是在 fakeWindow 上操作
要和这些沙箱结合起来使用,qiankun 会把要执行的 JS 包裹在立即执行函数中,通过绑定上下文和传参的方式来改变 this 和 window 的值,让它们指向 window.proxy 沙箱对象,最后再用 eval 来执行这个函数。
展开
评论
点赞
#青训营笔记创作活动#
2月7日 打卡day29
今天阅读了第二十九篇文章,学习了package.json 配置完全解读。package.json 里面有许许多多的配置,与项目息息相关,了解它们有助于了解项目,提效开发,规范代码。主要介绍一些常见配置分为了 7 大类:描述配置,文件配置,脚本配置,依赖配置,发布配置,系统配置,第三方配置。
2月7日 打卡day29
今天阅读了第二十九篇文章,学习了package.json 配置完全解读。package.json 里面有许许多多的配置,与项目息息相关,了解它们有助于了解项目,提效开发,规范代码。主要介绍一些常见配置分为了 7 大类:描述配置,文件配置,脚本配置,依赖配置,发布配置,系统配置,第三方配置。
展开
评论
点赞
LeetCode