简单的来说下vue3.0的组合式API吧!

209 阅读1分钟

#vue3里面为什么有setup,他到底解决了什么样的痛点?

如果你在写一个简单的组件,组合式API在这方面可能没有太大的作用,但如果你是在写一个几百行甚至几千行的大型组件时,组合式才能发挥出他真正的作用

  1. 他解决了mixin的痛点,作用域污染,但你在引入多个mixin,你可能会发现你的参数名函数名冲突了,但setup可以以解构的方式来进行重命名
  2. 他解决了代码可读性的问题,假如我们在看同事的代码,我们只需要关注对象name的变化,那么,我们肯定会去data、methods和mounted里面反复切换,代码量一多起来,业务复杂度一高起来,我们的可读性的大大减低了(如下图),但这时我们可以用组合式API给他抽离成一个函数,然后在setup这里调用,那么我们就只用去指定的模块处查看

image.png

  1. watchEffect会自动获取依赖,并且响应式跟踪,如下,watchEffect会自动收集到依赖(name和age),然后去跟踪数据变化
const name = ref('admin')
const age = ref('10086')
watchEffect(() => console.log(name.value,age.value))
setTimeout(() => {
  age.value++
  // -> logs admin,10087
}, 100)

有空的小伙伴还是看看尤大的讲解吧,我写了老半天还不如尤大一张嘴给你随便唠俩句你就懂了,如果只对组合式API感兴趣的话可以直接从第11章开始看,前10章都是手写简化版vue www.bilibili.com/video/BV1rC…