vue从后台获取新数据后刷新_VUE里各种数据刷新了但是视图没变的情况

问题:

1.界面文本或者输入框,后台传来了数据,但是页面有改变。(这里包含一种常见的情况:1.随便改变一个别的输入框的值,或者下拉一下菜单,数据又有了。)

2.下拉框,默认值不生效、后台传值不生效。

可能的解决方法:

1.值类型可能不对应。比如下拉框,几个候选option的类型是string,但是后台传来的是number。这时候可以把v-model给个v-bind(:v-model),或者把number+''改变为string。

2.this.$set(目标所属data, 'key', 待传入的值)

3.VUE不能动态检测到新增或删除的值。如果初始化的数据里没有这个property,那后台传过来的时候不会第一时间检测到。比如一个输入框的值取自this.data,其值created为:data:{}。这时候如果后台传来this.data.name="123",因为是新增property,不会第一时间检测到。这时候可以先声明property并且给个空值,比如created为:data:{name:""}。这时候再赋值就能动态改变了。

4.this.$nextTick(()=> {......},用这个方法,在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值