vue ,数据更改了但视图没有刷新

本文介绍了在Vue中如何使用for循环和$set方法改变data数组元素顺序,以及在视图未自动刷新的情况下,如何通过$forceUpdate()强制更新组件。在修改数组顺序后,发现视图并未响应数据变化,使用watch监听data数组未生效,最终通过$forceUpdate()实现了视图的重新渲染。
摘要由CSDN通过智能技术生成

使用vue,for循环data,点击修改数组data的顺序
向上:

let tempOption = this.data[index - 1];
this.$set(this.data, index - 1, this.data[index]);
this.$set(this.data, index, tempOption);

向下:

let tempOption1 = this.data[index + 1];
this.$set(this.data, index + 1, this.data[index]);
this.$set(this.data, index, tempOption1);

data里面的数组顺序已经修改了,但是视图并没有刷新,用watch来监听data也监听不到data数组的修改,最后只能用vue组件的$forceUpdate()来重新渲染实例

在data数组顺序调换完之后调用$forceUpdate()重新刷新

this.$forceUpdate();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值