vue开发过程中,修改了数据,但是页面死活不渲染改变!没变化!怎么办?6种方法解决~

文章介绍了在Vue开发中遇到数据改变但视图未更新的问题时,可以使用的方法,包括JSON的序列化与反序列化、设置:key属性、使用$set更新对象属性、调用$forceUpdate强制更新、利用v-if以及不推荐的location.replace刷新页面。

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

方法1(推荐):用JSON.parse(JSON.stringify(objectOrArray))

通常是某个渲染的数组改变了层级较深的数据导致页面没有实时渲染

就这么写  this.items=JSON.parse(JSON.stringify(this.items));

方法2:用:key

给没有渲染改变数据的html元素加入:key="update"

定义一个update:false,每次修改数据的时候在后面加一句this.update=!this.update;就可以刷新渲染了 

方法3:用$set

data() {

    return {

        d: { a: "旧的值" }

    };

},

this.$set(this.d,"a","新的值");

方法4:用 $forceUpdate

在修改数据之后加入this.$forceUpdate();即可 

方法5:用 v-if

 就是给需要刷新数据点html标签加上v-if,让其重新渲染(笨办法)

方法6(极其不推荐):用location.replace("");

直接重新location.replace(""); 刷新整个网页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值