许多采用vue2的老师真的vue3那时学出来太过碎片化了,事实上他们假如把握住以下几点就能加速入门vue3.
ref和reactive的差别
ref能传至自变量或是第一类,而reactive根本无法传至第一类ref的值域须要采用 .value ,即使ref将自变量切换为积极响应式要为两个第一类,受制于proxy APIreactive在setup中return时假如采用第一类展开符将丧失统计数据的积极响应性,能采用toRefs为第一类特性值留存积极响应性defineComponent的促进作用
在表述 Vue 模块时提供更多类别推论的远距表达式。这是两个十分管用的表达式。
他们一般来说是采用Vite建立工程项目,采用Visual Studio Code + Volar 扩充展开合作开发。当你辨认出template中难以提示信息第一类特性和ts类别时,你可能将会真的呢Volar再次出现了什么样实用性难题,即使他们采用Vetur时是能恒定提示信息的。虽说要不然,你可能将是写了如下表所示标识符:
此标识符三个点须要特别注意:
<script lang=”ts”>export default {}这三个点是引致template中难以恰当提示信息的其原因。化解形式是采用export default defineComponent({})包裹导出的第一类。
值得一提的是,假如你采用的是<script setup lang=”ts”>则不须要包裹,它并不须要export default
watchEffect
参数说明:
第两个参数是要运行的副促进作用表达式。这个副促进作用表达式的参数也是两个表达式,用来注册清理回调。清理回调会在该副促进作用下一次执行前被调用,能用来清理无效的副促进作用,例如等待中的异步请求 (参见下面的示例)。
第二个参数是两个可选的选项,能用来调整副促进作用的刷新时机或调试副促进作用的依赖。
默认情况下,侦听器将在模块渲染之前执行。设置 flush: post 将会使侦听器延迟到模块渲染之后再执行。详见回调的触发时机。在某些特殊情况下 (例如要使缓存失效),可能将有必要在积极响应式依赖发生改变时立即触发侦听器。这能通过设置 flush: sync 来实现。然而,该设置应谨慎采用,即使假如有多个特性同时更新,这将引致一些性能和统计数据一致性的难题。
watchEffect返回值是两个用来停止该副促进作用的表达式。如:stop=watchEffect();stop();之后即使统计数据变化也不在执行effect。
清除副促进作用的例子:
上图为wactchEffect使副促进作用失效的例子
watch
精确监听统计数据源,和wacthEffect差别:懒执行副促进作用,能访问统计数据前后变化的值,根据指定的值触发watch
自表述hook
自表述hook是为了复用相同标识符:采用形式:
采用规定格式的命名,use开头根据须要导入组合式API,如:reactive书写业务逻辑,最后return data采用形式:
总结:vue3最大的好处是采用了typescript,当你辨认出标识符难以提示信息类别或第一类特性时,能查看script标签,看是否采用了恰当格式,然后根据情况采用defineComponent。其次是掌握它基础的API,ref、reactive、wactchEffect等。总的来说,类别、按需导入、自表述hook把握住了这三点,实际合作开发中他们就能按图索骥,须要什么就拿什么过来采用即可。