Vue3组合式API - reactive和ref函数

reactive函数

作用:接收对象类型数据的参数传入并返回一个响应式的对象

步骤

一.从vue包中导入reactive函数

二.在<script setup>中执行reactive函数并传入类型为对象的初始值,使用变量接收返回值

<script setup>
 import { reactive } from 'vue'  // 导入
 
 const state = reactive({       // 执行函数 传入参数 变量接收
   count:0
 })
 const add = ()=>{
   state.count++ // 修改数据更新视图
 }
</script>

<template>
  <button @click="add">{{state.count}}</button>
</template>

注意:

  1. 普通对象不是响应式的,可以正常访问,但是,不具备响应式的特点:修改数据之后,视图不会更新
  2. reactive必须要传入一个类型为对象的数据,不支持基本数据类型。 vue提供了更加适用的ref函数。

ref函数

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

步骤

一.从vue包中导入ref函数

二.在<script setup>中执行ref函数并传入初始值,使用变量接收返回值

    a.在模板中使用数据不需加.value

     b. 在代码中使用数据要加.value

<script setup>
 import { ref } from 'vue' // 导入
 const count = ref(0)
 const setCount = ()=>{  // 执行函数 传入参数 变量接收
   console.log(count)
   // 修改数据更新视图必须加上.value
   count.value++
 }
</script>
<template>
  <button @click="setCount">{{count}}</button>
</template>

reactive 对比 ref

  1. 相同点:都是用来生成响应式数据
  2. 不同点:

        a.reactive不能处理简单类型的数据

        b.ref参数类型支持更好,但是必须通过.value做访问修改

        c.ref函数内部的实现依赖于reactive函数

     3.在实际工作中的推荐 :推荐使用ref函数,减少记忆负担

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值