vue 常见的数据与视图更新问题,this.$nextTick、this.$set
1. this.$nextTick
js是单线程的,但在vue中属性通过js改变后到视图改变是需要时间的,比如使用v-if时使元素从 v-if=false 到 true 之后马上操作元素内的数据或者视图可能是失败的,此时需要在改变 v-if 内的状态之后在 this.$nextTick 内执行操作元素内的数据或者视图。
// 移除组件 this.update = false; // 在组件移除后,重新渲染组件 // this.$nextTick可实现在DOM 状态更新后,执行传入的方法。 this.$nextTick(() => { this.update = true; });
2.this.$set
如果你在控制台看到对象或者数组的数据更新了,但是你的视图还没有更新,this.$set可以手动使视图数据更新:
this.$set(Object / Arrey, index / 'key', newVal)。
本文来自博客园,作者:不如饲猪,转载请注明原文链接:https://www.cnblogs.com/ifeelthecall/p/15746662.html

浙公网安备 33010602011771号