vue3的reactive对象赋值后失去响应式的问题
vue3种对象类型的响应式用reactive实现。
但是reactive对象在赋值后,因为变量代理函数变了,就失去了响应式功能了。示例如下:
<template>
  <div>
    <div >{{ data.name}}</div>
    <div >{{ data.age}}</div>
    <button @click="onUp">长大</button>
  </div>
</template>
<script lang="ts" setup>
import { reactive } from 'vue'
let data = reactive({name:'小猫', age:7})
const onUp = () => {
  data = reactive({name:'小猫', age:10})
}
</script>
解决方法1:通过对象属性来修改:data.age=10
解决方法2:改用ref来定义变量
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号