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。

你可能感兴趣的:(VUE里各种数据刷新了但是视图没变的情况)