「时光不负,创作不停,本文正在参加2021年终总结征文大赛」
2021即将过去,作为一个转行前端两年经验的小菜鸡真的很慌 回顾这一年,似乎每天都在努力的去挣脱【前段菜鸟】这个标签,刷视频、看文章、看书,然而到头来,依然是个菜鸟,没有写过技术博客,也没有一项拿的出手的技术(狗头)...
唯一值得欣慰的可能就是用vue3给公司写了两个小项目,第一次用v3心里战战兢兢,一边学一边写,生怕不能按时完成任务,毕竟公司对项目的进度是有要求的。
废话有点多了,直接来干货
v3给我带来的最明显的功能感受:
- ref与reactive两个api彻底告别vue2的响应式丢失问题
- 没有了组建实例this的约束,方法抽离更容易
这里细说下这两点
一、 ref与reactive的区别:reactive只能用于引用类型,并且一担定义好了,只能修改其内部属性,ref没有任何限制
const bar = ref({num:1})
const baz = reactive({num:1})
const obj = {num:2}
//这里如果将bar和baz的值改为obj
bar.value = obj //赋值正常
baz = obj //赋值失败,baz将不在是响应式对象,而是普通对象obj的一个引用
baz = reactive(obj) //赋值失败,baz变成另一个响应式对象,但是跟templae内的数据不再绑定,相当于失去响应式
OBJECT.assign(baz,obj) //赋值正常, 使用这种方式将obj合并进baz是可以的
简而言之,ref功能更强大,但写法稍繁琐,修改值需要加.value,图省事的话,ref一把梭,嘿嘿~
二、关于this
刚开始失去this,相信大家都会感到不适应,每个组建都要写一大堆import,还好有了script setup,可以省去一部分,defineEmits、defineProps等,还有免去组建注册,即便如此,但是还是有点繁琐,这里写点自己的心得
- 原型挂载使用不方便(比如this.$axios),官方其实也不推荐再往原型上挂载东西,但还是给出了访问实例的方法,感觉挺麻烦,干脆就彻底不用了,像这样用
import { get, save,baseUrl } from '@/utils/request'
或者直接暴力使用window.axios挂载 - 没有了
this,公共方法抽离出去使用很方便,import进来直接给template就能用,不用注册到methods上,也不必担心this指向问题,v3的宗旨就是所有要用的都要先import,这样利于维护,不会贸然出现一个东西不知到在哪定义的 总之, v3用了才知道多香,还没用的同学抓紧时间搞起来
2021过的挺废的,没有了之前自学时的那股冲劲,红宝书翻了几页就停下了,TS一直没实践起来,希望2022再拼一拼,争取跨入中级前端行列,flag还是要立一下
- 还完2021欠的账(红宝书+TS)
- 工作中碰到的钉子及时发文章记录,真的很容易忘,深有体会
- 做点有意思的开源项目, 分享技术
- 读5本书
- 脱单...
最后,听说发文章一定要配图,就配了一张今年看的一本不错的书封面,顺便推荐给小伙伴们<
非暴力沟通>