VUE3-shallowReactive

文章展示了在Vue3中使用shallowReactive创建的对象只有第一层属性是响应式的,例如`data.a.b.c.counter`点击无法更新,而`data.counter2`则可以正常响应。这说明shallowReactive不支持深层响应式转换。

VUE3-shallowReactive

作用

对象的第一层支持响应式,第二层就不在支持了

代码

<template>
  <h2>计数器:{{data.a.b.c.counter}}</h2>
  <button @click="data.a.b.c.counter++">点我加1</button>
  <hr>
  <h2>计数器:{{data.counter2}}</h2>
  <button @click="data.counter2++">点我加1</button>
</template>

<script>
  import {
    shallowReactive
  } from 'vue'
  export default {
    setup() {
      // data
      let data = shallowReactive({
        counter2: 1000,
        a: {
          b: {
            c: {
              counter: 1
            }
          }
        }
      })

      return {
        data
      }
    }
  }
</script>

会发现第一按钮没有反应,第二个按钮会有反应加1

涉及内容

vue3、shallowReactive、浅响应

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值