【Vue2+3入门到实战】(22)VUE3之组合式API - setup、reactive和ref函数、computed、watch、生命周期函数详细讲解

目录

  • 一、组合式API - setup选项
    • 1. setup选项的写法和执行时机
    • 2. setup中写代码的特点
    • 3.

      执行时机

      在beforeCreate钩子之前执行

      【Vue2+3入门到实战】(22)VUE3之组合式API - setup、reactive和ref函数、computed、watch、生命周期函数详细讲解_第1张图片

      2. setup中写代码的特点

      在setup函数中写的数据和方法需要在末尾以对象的方式return,才能给模版使用

      
      

      3.

      script标签添加 setup标记,不需要再写导出语句,默认会添加导出语句

      
      

      二、组合式API - reactive和ref函数

      1. reactive

      接受对象类型数据的参数传入并返回一个响应式的对象

      
      
      
      

      2. ref

      接收简单类型或者对象类型的数据传入并返回一个响应式的对象

      
      
      
      

      3. reactive 对比 ref

      1. 都是用来生成响应式数据
      2. 不同点
        1. reactive不能处理简单类型的数据
        2. ref参数类型支持更好,但是必须通过.value做访问修改
        3. ref函数内部的实现依赖于reactive函数
      3. 在实际工作中的推荐
        1. 推荐使用ref函数,减少记忆负担,小兔鲜项目都使用ref

      三、组合式API - computed

      计算属性基本思想和Vue2保持一致,组合式API下的计算属性只是修改了API写法

      
      

      四、组合式API - watch

      侦听一个或者多个数据的变化,数据变化时执行回调函数,俩个额外参数 immediate控制立刻执行,deep开启深度侦听

      1. 侦听单个数据

      
      

      2. 侦听多个数据

      侦听多个数据,第一个参数可以改写成数组的写法

      
      

      3. immediate

      在侦听器创建时立即出发回调,响应式数据变化之后继续执行回调

      
      

      4. deep

      通过watch监听的ref对象默认是浅层侦听的,直接修改嵌套的对象属性不会触发回调执行,需要开启deep

      
      
      
      
      

      五、组合式API - 生命周期函数

      1. 选项式对比组合式

      2. 生命周期函数基本使用

      1. 导入生命周期函数
      2. 执行生命周期函数,传入回调
      
      import { onMounted } from 'vue'
      onMounted(()=>{
        // 自定义逻辑
      })
      
      

      3. 执行多次

      生命周期函数执行多次的时候,会按照顺序依次执行

      
      import { onMounted } from 'vue'
      onMounted(()=>{
        // 自定义逻辑
      })
      
      onMounted(()=>{
        // 自定义逻辑
      })
      
      

      六、总结

      组合式API是Vue3中的新特性,它允许我们以更灵活和可组合的方式编写组件逻辑。

      1. setup函数:setup函数是组合式API的入口,它在组件实例创建之前调用。我们可以在setup函数中执行一些初始化逻辑,并返回一个对象,这个对象将会成为组件实例的属性。setup函数接收两个参数:props和context,props是组件的属性,context提供了一些常用的API,例如emit用于派发事件。

      2. reactive和ref函数:reactive函数接收一个普通对象,并返回一个响应式代理对象。ref函数接收一个普通值,并返回一个响应式引用对象。我们可以使用reactive和ref函数来创建响应式数据。响应式数据可以在模板中使用,并能够自动追踪其依赖。

      3. computed函数:computed函数接收一个getter函数,并返回一个计算属性。计算属性是一个响应式对象,它会自动追踪其依赖,并在依赖发生变化时重新计算。我们可以使用computed函数来处理一些复杂的数据逻辑,例如对多个响应式数据进行运算得到一个新的值。

      4. watch函数:watch函数用于监听一个响应式数据的变化,并在数据变化时执行一些副作用。watch函数接收两个参数:要监听的响应式数据和回调函数。我们可以使用watch函数来处理一些异步操作,例如发送网络请求或保存数据。

      5. 生命周期函数:Vue3中的生命周期函数经过了一些改变。setup函数中可以使用onBeforeMount、onMounted、onBeforeUpdate、onUpdated、onBeforeUnmount和onUnmounted等函数来代替Vue2中的生命周期钩子函数。这些函数分别在组件挂载前、挂载后、更新前、更新后、卸载前和卸载后调用。我们可以在这些函数中执行一些与组件生命周期相关的操作,例如请求数据、添加事件监听器等。

      综上所述,Vue3的组合式API提供了更灵活和可组合的方式来编写组件逻辑,使我们能够更好地组织和重用代码。它使用了一些新的函数和概念,例如setup函数、reactive和ref函数、computed函数、watch函数以及新的生命周期函数。通过学习和掌握这些API,我们可以更高效地开发Vue3应用。

你可能感兴趣的:(VUE教程,vue.js,javascript,前端)