vue3.07月发布rc版本。vue-cli4.5之后还可以选择vue3作为备选版本进行体验。vue3正式版想必也不远了。我学不会了!!!!与vue2.0版本(OptionAPI)相比,CompositionAPI(组合API)是3.0的主要变化之一。概述CompositionAPI主要是受ReactHooks的启发,目的是让我们能够通过一套低侵入、函数式的API,更加灵活地“组合”组件的逻辑。

vue3.07月发布rc版本。vue-cli4.5之后还可以选择vue3作为备选版本进行体验。vue3正式版想必也不远了。我学不会了!!!!与vue2.0版本(OptionAPI)相比,CompositionAPI(组合API)是3.0的主要变化之一。概述CompositionAPI主要是受ReactHooks的启发,目的是让我们能够通过一套低侵入、函数式的API,更加灵活地“组合”组件的逻辑。{{count}}``CompositionAPI,顾名思义,不再传入Data、mounted等参数,通过引入ref、onMounted等方法实现数据的双向绑定和生命的执行循环函数。为什么有必要?1、在组件复杂的情况下,逻辑代码可以组合在一起,不用强行用选项分开。这提高了代码质量的上限,降低了代码质量的下限。来自官方的一张对比图:2.更好的复用。在vue2中,想复用部分逻辑的代码是通过mixin进入的。但是mixin的内容其实很不直观,同名会被覆盖。使用组合API,因为所有的方法都是导入的,所以可以封装单一的逻辑。比如封装了发送验证码的倒计时功能。{{count}}学生的姓名是:{{student.name}}学生的年龄是:{{student.age}}计算与观察{{count}}{{doubleCount}}模板><脚本语言="ts">import{defineComponent,ref,computed,watchEffect,watch}from'vue';exportdefaultdefineComponent({name:'App',setup(){constcount=ref(0)watch(count,()=>{//如果有多个,用数组传[count,count1]console.log('watch',count.value)})watchEffect(()=>{console.log('watchEffect',count.value)})constaddCount=()=>{count.value++}constdoubleCount=computed(()=>{returncount.value*2})return{count,doubleCount,addCount}}});watch和watchEffect的区别在于watchEffect会立即执行,并且会观察执行过程中读取的响应数据,而watch只有在watch对象发生变化时才会执行。生命周期beforeCreate->使用setup()created->使用setup()beforeMount->onBeforeMountmounted->onMountedbeforeUpdate->onBeforeUpdateupdated->onUpdatedbeforeDestroy->onBeforeUnmountdestroyed->onUnmountedererrorCaptured->onErrorCaptured