- 博客(17)
- 收藏
- 关注
原创 Vue3获取ref元素的几种方式
需要注意的是,访问的时候,要确保 ref 引用值已经成功绑定上元素,我们可以使用以下几种方式确保获取。获取单个 dom 元素。
2024-10-15 19:58:34
714
原创 软件开发方法之敏捷开发
敏捷开发,相比迭代式开发两者都强调在较短的开发周期提交软件,但是,敏捷开发的周期可能更短,并且更加强调队伍中的高度协作。适应性的方法集中在快速适应现实的变化。当项目的需求起了变化,团队应该迅速适应。这个团队可能很难确切描述未来将会如何变化.敏捷方法有时候被误认为是无计划性和纪律性的方法,实际上更确切的说法是敏捷方法强调适应性而非预见性。上篇文章我们讲了软件开发的两种方法,即:瀑布式开发与迭代式开发。今天继续讲另一种开发方,即。
2024-10-12 10:03:14
135
原创 软件开发方法:瀑布式开发与迭代式开发
不要求每一个阶段的任务做的都是最完美的,而是明明知道还有很多不足的地方,却偏偏不去完善它,而是把主要功能先搭建起来为目的,以最短的时间,最少的损失先完成一个“不完美的成果物”直至提交。然后再通过客户或用户的反馈信息,在这个“不完美的成果物”上逐步进行完善。,也就是从需求到设计,从设计到编码,从编码到测试,从测试到提交大概这样的流程,要求每一个开发阶段都要做到最好。特别是前期阶段,设计的越完美,提交后的成本损失就越少。
2024-10-11 15:43:35
253
原创 更新子节点的优化策略2:key
旧数组相交,说明新数组还没有相交,那么要根据相交的位置插入新数组剩余的未遍历到节点。新数组相交,说明旧数组还没有相交,那么要删除旧数组剩余的未遍历到的节点。更新子节点的优化策略2:key。至此 diff 流程结束。
2024-10-09 21:01:59
181
1
原创 包含块(containing block)
包含块(containing block)就是元素用来计算和定位一个的框。如:width: 50%,那到底是哪个 “元素” 宽度的一半呢?其实,这个 “元素” 实际上就是指的包含块。MDN 定义:一个元素的尺寸和位置经常受其 包含块(containing block)的影响。大多数情况下,包含块就是这个元素最近的祖先块元素的内容区域,但也不是总是这样。
2024-09-30 08:28:58
254
原创 Vue2 中判断某个属性是否是响应式数据
不难发现,vue2 中没有像 vue3 中提供了相关 api 可以判断某个属性是否是响应式,比如 isRef()、isReactive()所以通过 isReactive(this.obj, b) ====> false,就可以判断出,当前这个属性不是响应式数据。当我手动不使用 $set 添加一个属性时比如,this.obj.b = 2,那么这时 b 就不是响应式数据。那么在 vue2 中,自己可以封装个工具类如上代码,可以判断出某个对象中的某个属性,是否是响应式数据。
2024-09-29 17:14:14
423
原创 Element-Ui实现动态必填表单项操作
1、在必填的 el-form-item 写两个一样的,一个有 rules 一个没,然后用 v-if 去动态判断;2、现在要说的是方法2,大部分网上看的都是用方法一的方式,而且基本都 copy 的文章。
2024-09-29 09:50:43
368
原创 常见的前段打包工具和构建工具
vite.config.js 运行在 node 环境中,因此,可以识别 process.env 变量。vite 中,我们的代码运行在浏览器环境中,因此是无法识别 process.env 变量的。代码构建后的输出格式有哪些?常见的前端打包工具有哪些?
2024-09-28 08:36:21
131
原创 浅谈defineProperty与Proxy的区别
defineProperty 实际上是对象里面基本方法之一,而proxy 是针对整个对象所有基本方法的拦截器。defineProperty比如说他只能提供读取和访问的操作,getter、setter;而proxy可以提供的东西更多,比如说方法调用,删除属性,新增属性,都能监控的到。
2024-09-27 08:32:19
141
原创 什么是秒传,代码
通俗来讲,你把要上传的东西上传,服务器会先做 MD5 校验,如果服务器上有一样的东西,它就直接给你个新地址,其实你下载的都是服务器上的同一个文件,想要不秒传,其实只要让 MD5 改变,就是对文件本身做一下修改(改名字不行),例如一个文本文件,你多加几个字,MD5 就变了,就不会秒传了。
2024-09-26 10:11:08
329
原创 await命令使用注意点
第一点,前面已经说过,await 命令后面的 Promise 对象,运行结果可能是 rejected,所以最好把 await 命令放在 try...catch 代码块中。第二点,多个 await 命令后面的异步操作,如果不存在继发关系,最好让它们同时触发。第三点,await 命令只能用在 async 函数之中,如果用在普通函数,就会报错。
2024-09-25 08:08:33
258
原创 async 函数对 Generator 函数的改进
细心的小伙伴应该不难发现,async 函数就是将 Generator 函数的星号(*)替换成 async,将 yield 替换成 await,仅此而已。
2024-09-24 21:19:42
252
原创 在Git中提交了代码后如何回滚
首先,确定要回滚的提交的commit ID。可以使用git log命令查看提交记录,并找到需要回滚的提交的commit ID。例如,如果要回滚commit ID为abc123的提交,可以执行命令:git revert abc123。指的是撤销之前的代码提交,回退到之前的版本状态。在Git中,可以通过以下这种方法来回滚代码提交。最后,使用git push命令将回滚后的代码提交到远程仓库。Git会自动创建一个新的提交,撤销被回滚的提交引入的更改。执行以下命令来回滚代码提交:git revert。
2024-09-23 18:07:33
451
原创 懒人Photoshop使用技巧分享
2、 平移工具 对图像进行移动,在使用其他工具时,按住空格键盘的空格键,可以切换到此工具,移动完后松开空格键回到原来的工具。执行菜单命令 文件/新建 可以新建一张图片,设置大小,颜色模式选RGB,网页图片一般选择72像素/英寸,如果图像要打印,可设为300/英寸。1、 放缩工具 图像放大缩小,在图像上点击放大,按住alt键点击缩小,快捷键Ctrl+“+”放大 Ctrl+“-”缩小,双击此工具可以让图像按照原始大小显示。2、 选择此工具,勾选工具属性栏上的“自动选择图层”,可以在图像上点击选中图层;
2024-09-22 11:00:34
321
原创 分享lightroom快捷键设置
随着数字相机的普及,Lightroom越来越受到摄影师及影楼的欢迎。6、整体使用思路是:利用“+”、“-”调整当前项参数值,利用“<”、“>”循环基本面板的调整项。今天与大家分享lightroom快捷键的设置,以便初学者更好的熟悉和掌握其用法。3、我们点击“+”和“-”会在调整面板中的当前项会增加和减少参数值;1、在图库中选中图片,按D进入修改图片模式,在右侧有多个调整面板;4、点击右尖括号“>”(也就是,键),调整面板的当前项往下循环;5、点击左尖括号“<”(也就是。键),调整面板的当前项往上循环;
2024-09-21 09:07:53
2253
原创 简单的Photoshop使用技巧分享
如果不将图层转化为智能对象,你对某个图层做的所有效果,就会直接写入这个图层,无法随时进行修改,只能撤回,极不方便。添加文字图层为智能对象,就可以随时修改字符了。操作很简单,先给修改一张图片的过程进行录制动作,然后再批量选中其他图片,依次套用之前录制好的动作,所有的照片将被一气呵成地修改好,并保存到目标文件夹。那一年的先进个人共几十人,如果对每个人的照片进行调色和裁切,工作量将会非常大,直到我发现ps一个非常厉害的功能——批量修改。这个功能,一般是ps进阶内容,但是,作为初学者,也必须知道什么是智能对象。
2024-09-20 10:49:46
352
原创 用Flash和An做动画的区别
两者区别不大,在Flash里能做的内容,在An里同样可以制作,但是An里去掉了对Actionscript2.0的支持,增加了对html5页面的开发支持。An是Adobe Animate的简称,其实就是Flash,是Adobe公司对Flash软件的改造产品,也可以理解为AN是Flash的升级版。很多刚开始学做动画的小伙伴,可能还不清楚An和Flash的关系。下面与大家简单介绍一下,以便更好的去区别和使用这两款工具。另外,An里也加了更多动画方面的小工具,口型、镜头等。
2024-09-13 16:27:05
1144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人