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。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • vue概述 在官方文档中,有一句话对Vue的定位说的很明确:Vue.js 的核心是一个允许采用简洁的模板语法来声明...
    li4065阅读 12,115评论 0 25
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,887评论 1 32
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 10,479评论 0 29
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,884评论 0 17
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,381评论 1 45

友情链接更多精彩内容