vue3响应式系统API介绍

本文介绍了Vue3中的响应式API,包括reactive的局限性,如何选择reactive与ref,以及toRefs、computed(可写计算属性)和watch侦听器的用法。在setup函数中,需要注意ref和reactive的使用场景,以及如何保持响应式链接的完整。此外,文章还探讨了响应式语法糖和可写计算属性的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下述介绍仅针对组合式API~

1. reactive

reactive是一个函数,接收一个对象,把对象数据转化为响应式对象并返回。(需要从vue中导入reactive函数)

<template>
  <div>{
   {
    state.name }}</div>
  <div>{
   {
    state.age }}</div>
  <button @click="state.name = '小华'">修改姓名</button>
</template>

<script>
import {
    reactive } from 'vue'
export default {
   
  setup () {
   
    const state = reactive({
   
      name: '小明',
      age: 18
    })
    return {
   
      state
    }
  }
}
</script>

我们也可以在同一个作用域下定义一个更新 state 的函数,并作为一个方法与 state 一起暴露出去:


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

<script>
import {
    reactive } from 'vue'
export default {
   
  setup() {
   
    const state = reactive({
    count: 0 })

    function increment() {
   
      state.count++
    }

    // 不要忘记同时暴露 increment 函数
    return {
   
      state,
      increment
    }
  }
}
</script>

在 setup() 函数中手动暴露大量的状态和方法是繁琐的。我们可以通过使用构建工具来简化该操作。当使用单文件组件(SFC)时,我们可以使用 < script setup > 来大幅度地简化代码。


<templ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值