vue双向绑定失效,视图不更新,$set()失效解决办法

vue开发遇到的数据更新视图不更新问题

*在开发过程中我们经常会遇到数据更新视图不更新问题,所以会用到一些方法解决问题,
1、先尝试使用深度监听
telShow:{
	handler(val){
		console.log(val)
	},
	deep:true,
	immediate:true,
}
2、如果是数组对象使用$set方式改变数据内容
this.$set(item1,'value',saveValue);
(数组或者对象,增加名称,内容)
3、 s e t ( ) 解 决 不 了 使 用 t h i s . set()解决不了使用this. set()使this.forceUpdate()
this.$forceUpdate()
4、如果没有涉及循环,以上方式基本解决,涉及循环后如果以上方法失效那么我们尝试使用以下方式,为key加时间戳
<div
v-for="data in item.children"
            :key="data.formId + Date.now()">
</div>
5、如果还是没解决,那你找对文章了,笔者当时遇到的就是此类情况,经过不断尝试,询问大佬,最后是使用时间戳加this.$forceUpdate()的方式解决此类问题
<div
v-for="data in item.children"
            :key="data.formId + Date.now()">
</div>

先在循环的地方加入时间戳,然后笔者需要将请求的数据之后赋给双向绑定的值,赋值好后使用this.$forceUpdate(),解决此类问题

  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值