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
        }
    }
}
posted @   南风晚来晚相识  阅读(257)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2020-09-18 超级好用的elementui动态循环菜单
点击右上角即可分享
微信分享提示