Vue3 template模板中解包问题

什么是解包?

Vue3 3.1 在template模板 使用 定义的数据是需要写 .value的

Vue3 3.2 之后 在 template模板 使用 定义的数据是不需要写 .value 的

这个是解包

但是在 template 模板中写行内函数就需要写 value 

导致的结果是两个不相同的数据 +1 但是函数执行之后是都 +1 的

<template>
<!-- 默认情况下在 template 中使用 ref 时,Vue 会自动解包(拿出其中的 value) -->
  <h2>当前count数量: {{ count }}</h2>
  <button @click="incrCountHandler">count数量+1</button>
  <button @click="count++">count数量+1</button>
  <hr>
  <!--  解包 使用的时候不需要写 value -->
  <h2>当前info.count数量: {{info.count}}</h2>
  <!-- 修改的时候需要写 .value -->
  <button @click="info.count.value++">info.count数量+1</button>
</template>
<script>
import { ref } from 'vue'
export default {
  setup() {
    const count = ref(0)
    const incrCountHandler = () => {
      count.value++
    }

    const info = {
      count
    }
    return { count, incrCountHandler, info }
  },
}
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值