vue3中retive的错误用法导致数据不跟新

retive的错误用法

<template>
    <div>
        司藤的信息==>{{ objInfo  }}
        <button @click="handerHttpServe">获取远端的值</button>
    </div>
</template>
<script>
import { reactive } from '@vue/reactivity'
export default {
    setup () {
        let objInfo=reactive({ })
        function handerHttpServe(){
            setTimeout(()=>{
                objInfo={
                    name:'司藤',
                    sex:'女',
                }
            },400)
        }
        return {
            objInfo,
            handerHttpServe
        }
    }
}
</script>

为什么无法更新视图呢??

我们都知道retive是响应式的,
命名是可以去跟新值的。
但是为啥子却更新失败了呢??
let objInfo=reactive({ })
objInfo虽然是一个对象
但是你赋值却是
objInfo={
    name:'司藤',
    sex:'女',
}
这样的赋值方式是vue检测不到的

解决办法 其一:

setup () {
    let objInfo=reactive({})
    function handerHttpServe(){
        setTimeout(()=>{
            objInfo.name="张三"
        },400)
    }
    return {
        objInfo,
        handerHttpServe
    }
}

解决办法其二

export default {
    setup () {
        let objInfo=reactive({
            obj:{

            }
         })
        function handerHttpServe(){
            setTimeout(()=>{
                objInfo.obj={
                    name:'司藤',
                    sex:'女',
                }
            },400)
        }
        return {
            objInfo,
            handerHttpServe
        }
    }
}
作者:明月人倚楼
出处:https://www.cnblogs.com/IwishIcould/

想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,或者关注博主,在此感谢!

万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主(っ•̀ω•́)っ✎⁾⁾!

想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

支付宝
微信
本文版权归作者所有,欢迎转载,未经作者同意须保留此段声明,在文章页面明显位置给出原文连接
如果文中有什么错误,欢迎指出。以免更多的人被误导。
原文地址:https://www.cnblogs.com/IwishIcould/p/15310487.html