解决Vue数组数据变化了,赋值后视图没更新的问题

当Vue.js中表格数据变化直接赋值后视图未更新,原因在于Vue无法检测对象属性的添加或删除。解决方法是使用`this.$set`或通过数组方法如`map`创建新数组并赋值,确保数据响应式。本文介绍了如何通过`map`和`this.$set`更新数组并刷新视图。

最近遇到一个问题,表格数据变化了,直接赋值后视图没更新,打印表格数据发现是最新的数据,这主要是因为,Vue.js 不能检测到对象属性的添加或删除。因为 Vue.js 在初始化实例时将属性转为 getter/setter,所以属性必须在 data 对象上才能让 Vue.js 转换它,才能让它是响应的。
如下图,最开始后端返给我10条数据,第一条数据是孝感米酒,但它没在页面显示出来。

请添加图片描述
最开始我是直接将后端返给我的数组res.result.listpg进行赋值,没显示出来,然后我用map处理了一下。通过map数组方法,对数组里面的每条数据进行重新处理,将返回的新的数组重新赋值给当前的数组。这等于是重新给这个数组变量赋值了,vue那边能监听到并且实时更新视图了。然后用set对数据条数进行了处理一下。vue里面给我们提供了set对数据条数进行了处理一下。vue里面给我们提供了set对数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值