异步获取数据后,v-for重新渲染图片列表,用this.$nextTick()解决

最近在完成学校的一个作业

大概效果是这样的

异步获取数据后,v-for重新渲染图片列表,用this.$nextTick()解决

使用v-for异步获取数据后要重新渲染视图

异步获取数据后,v-for重新渲染图片列表,用this.$nextTick()解决

但是我更新了数组数据之后,发现v-for没有重新渲染

异步获取数据后,v-for重新渲染图片列表,用this.$nextTick()解决

 

可以看到数据变了,视图没变

于是在网上搜索解决方案,强制刷新this.$forceUpdate(),改变数组this.$set(this.tableData[id],"red",true)之类的,没有效果

也有可能是我用的姿势不对,毕竟是第一次写前端,完全小白........

最后看到一个this.$nextTick(),网上的博客都讲得很牛逼,感觉很厉害的样子

试一下

异步获取数据后,v-for重新渲染图片列表,用this.$nextTick()解决

完美解决

异步获取数据后,v-for重新渲染图片列表,用this.$nextTick()解决

 

Tips:如果没有将原来的数组先清空就直接在nextTick里面给数组赋值,那么原先渲染在页面上的视图不会被清掉,它会在把新的数据渲染到原本的视图后面,所以一定要先清空原来的数组