获得徽章 1
- #青训营笔记创作活动#
2月23日 打卡day42
今日学习:通过今天的学习,我了解到了BaseBoard 就是我们的画布组件, 我们使用这个组件可以在页面上创建任意数量的画布, 同时由于vue3 的组合函数支持使用defineProps 来定义组件的props, 所以我们可以通过它定义组件的属性。展开评论点赞 - #青训营笔记创作活动#
2月22日 打卡day41
今日学习:通过今天的学习,我了解到了drawBlock 用于生成映射Block,每次只生成一次,重复调用会造成映射元素重新生成,导致位置Block块改变,也就是说,drawBlock在一局游戏下只会调用一次,createBlockToDocument 根据映射元素,生成实例化的Dom节点,这个方法,不论调用多少次,都不会改变Dom的位置。展开评论点赞 - #青训营笔记创作活动#
2月21日 打卡day40
今日学习:通过今天的学习,我了解到了在点击屏幕容器的时候,会实例化ShockwaveFilter 类,其中可以随机传入振幅、波长、速度、半径等参数,目的是为了让每次点击水波效果都有些许差异。再将这个过滤器添加一个单独的数组中保存,同时还要添加到 filters 中,在 step 方法不停执行的时候,我们就要遍历这个 shockwaveFilters 数组,将它的 time 属性累加就会产生水波效果动画了。展开评论点赞 - #青训营笔记创作活动#
2月20日 打卡day39
今日学习:通过今天的学习,我了解到了Wow,借助不同的混合模式,我们可以实现不同的颜色叠加效果。这里 mix-blend-mode: darken 的作用是,只有白色文字部分会显现出上层的 .bg 的颜色,而黑色背景部分与上层背景叠加的颜仍旧为黑色。展开评论点赞 - #青训营笔记创作活动#
2月19日 打卡day38
今日学习:通过今天的学习,我了解到了React 提供了一个 useRef Hook,返回一个可变的 ref 对象(这个 ref 对象只有一个 current 属性),其在组件的整个生命周期内保持不变。useRef 变化不会主动使页面渲染,利用这个特性,我们可以对代码进行改造。展开评论点赞 - #青训营笔记创作活动#
2月18日 打卡day37
今日学习:通过今天的学习,我了解到了实现图片预览/查看的关键点在于 CSS3 中的 transform 变换,该属性应用于元素在2D或3D上的旋转,缩放,移动,倾斜等等变换,通过设置 translate(x,y) 即可偏移元素位置,设置scale即可缩放元素。展开评论点赞 - #青训营笔记创作活动#
2月17日 打卡day36
今日学习:通过今天的学习,我了解到了key是vue中虚拟dom标记的唯一标识,通过这个key,diff算法能更加准确和快捷。不使用key的情况下,因为vue的就地更新会选择复用节点,之前的状态被保存,可能会产生一系列的bug。展开评论点赞 - #青训营笔记创作活动#
2月16日 打卡day35
今日学习:通过今天的学习,我了解到了通过 SVG 可编码的特点,利用 SVG 来实现蒙版效果,并且在绘制蒙版时,预留出目标元素的高亮区间(即 SVG 不需要绘制这一部分),这样就解决了使用 z-index 可能会失效的问题。展开评论点赞 - #青训营笔记创作活动#
2月15日 打卡day34
今日学习:通过今天的学习,我了解到了对象配置看起来跟 策略模式 差不多,都是根据不同得参数使用不同得数据/算法/函数。策略模式就是将一系列算法封装起来,并使它们相互之间可以替换。被封装起来的算法具有独立性,外部不可改变其特性。展开评论点赞 - #青训营笔记创作活动#
2月14日 打卡day33
今日学习:通过今天的学习,我了解到了Pinia 中没有 module 的概念,是一个拍平的 store 结构。Pinia 推荐按照功能去划分一个个的 store ,这样更方便管理和使用。
使用 defineStore 方法创建 store,store 的命名遵循 useXXX 的形式。展开评论点赞