vue3 setup中用const定义的ref常量为什么可以被修改?

2,755 阅读1分钟
在vue3中,setup里用const定义的ref常量可以被修改,这是为什么呢?

const定义的基本类型不能改变,但是定义的对象是可以通过修改对象属性等方法来改变的。

<template>
  <div>
    <button @click="increment">当前计数:{{ counter }}</button>
  </div>
</template>

<script>
import { ref } from 'vue'
export default {
  setup() {
    const counter = ref(0)
    const increment = () => counter.value++
    return {
      counter,
      increment
    }
  }
};
</script>

在上面的代码中,counter是一个ref对象,并不是基本类型,我们修改的是counter对象的value属性,所以我们用const定义的counter计数是可以改变的。