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

vue3.0在7月份发布了rc版本。vue-cli4.5之后还可以选择vue3作为备选版本进行体验。vue3正式版想必也不远了。我学不会了!!!!与vue2.0版本(OptionAPI)相比,CompositionAPI(组合API)是3.0的主要变化之一。概述CompositionAPI主要是受ReactHooks的启发,目的是让我们能够通过一套低侵入、函数式的API,更加灵活地“组合”组件的逻辑。示例{{count}}``组合API,顾名思义,不再传入Data、mounted等参数,通过引入ref、onMounted等方法实现数据的双向绑定和生命周期函数的执行。为什么有必要?1、在组件复杂的情况下,逻辑代码可以组合在一起,不用强行用选项分开。这提高了代码质量的上限,降低了代码质量的下限。来自官方的一张对比图:2.更好的复用。在vue2中,想复用部分逻辑的代码是通过mixin进入的。但是mixin的内容其实很不直观,同名会被覆盖。使用组合API,因为所有的方法都是导入的,所以可以封装单一的逻辑。比如封装了发送验证码的倒计时功能。{{count}}学生的姓名是:{{student.name}}学生的年龄是:{{student.age}}computed与watch{{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->onUnmountedderrorCaptured->onErrorCaptured