【vue】Vue数据发生改变但页面却没有实时更新

本文记录了解决Vue中数组数据修改但页面未更新的问题,通过使用this.$set方法实现监听并更新视图。重点探讨了数据变化未被监听及页面不更新的现象,以及$set方法的作用和原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题的出现:

由于想实现用户的增加,将其数据保存在本地,结果问题就来了。。。。。这里写篇记录一下,帮助有用的人

问题:

在这里插入图片描述
点击这里的编辑,将编辑完的用户数据存到数组中,然后将这里的值传给子组件的props属性,然后el-table去渲染,但是值改变后页面没有更新。。。。。
这里给大家看看值:
在这里插入图片描述
在这里插入图片描述
然后我看到一篇博客,去尝试监听解决,但是监听写了,发现数据有的监听不到,有的就可以,最后找到了解决办法。
附上最后看到的博客:
他人博客1
他人博客2

解决办法:

用vue里的this.$set()方法,该方法是vue自带的可对数组和对象进行赋值,并触发监听的方法。直接将值修改,有三个参数
第一个参数为你要改变的数组或对象
第二个参数为下标,或者元素名称
第三个参数为新值
附上我改完之后的代码:

        this.studentInfo.forEach((item, index) => {
          if (item.id === this.updatedid) {
            this.$set(this.studentInfo, index, addinfo)
          }
        })

总结:

问题总算是解决了,但是搜博客时,其他博主写到数据改变但页面没更新出现的俩种错误现象:
1、watch或者computed监听到数据的变化但是页面却没有实时更新
2、没有监听到数据的变化
这里为什么会出现这种现象呢,值得我去深思,来防止以后再掉到这种坑中,在写完该项目之后,我会去好好看看this.$set方法,以及这个问题出现的原因!!!

花了一天的事件终于解决,真不容易,狗生艰难
在这里插入图片描述

最后希望能帮助到有此问题的朋友们,或者有啥问题,也可以关注我一下一起讨论,人多力量大,学习永无止境在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值