VUE(一)——nextTick

DOM更新循环结束后执行延迟回调,在数据修改以后立即使用该方法可获取更新后的DOM。

(*问题1)DOM更新循环?

VUE中使用异步执行DOM更新,在修改数据之后视图不会立即更新,而是等同一事件循环中的所有数据变化完成之后再统一进行视图更新。想要立即使用更新后的DOM,要调用nextTick方法,这样在DON更新后nextTick里的内容会立即执行。

事件循环:同步代码执行------》查找异步队列,推入执行栈,执行Vue.nextTick[事件循环1]------》查找异步队列,推入执行栈,执行Vue.nextTick[事件循环2]......

同步执行,异步更新,这也是DOM不会立即更新的原因。

(*问题2)下一次循环更新?

(*问题3)为什么在修改数据之后使用?

(*问题4)应用场景?

1、需要在视图更新之后,基于新的视图进行操作。

(*注)在created和mounted阶段,如果需要操作渲染后的视图,也要使用nextTick方法。mounted不会承诺所有的子组件一起被挂载,如果要等到整个视图都渲染完毕就可以用nextTick替换掉mounted。

2、点击按钮显示原本已v-show = false隐藏的输入框来获取焦点。

3、点击获取元素宽度。

相关推荐
把csdn当日记本的菜鸡3 分钟前
js查缺补漏
开发语言·javascript·ecmascript
BBB努力学习程序设计18 分钟前
了解响应式Web设计:viewport网页可视区域
前端·html
zhangyao94033020 分钟前
uni-app scroll-view特定情况下运用
前端·javascript·uni-app
码农张20 分钟前
从原理到实践,吃透 Lit 响应式系统的核心逻辑
前端
jump68021 分钟前
object和map 和 WeakMap 的区别
前端
打小就很皮...27 分钟前
基于 Dify 实现 AI 流式对话:组件设计思路(React)
前端·react.js·dify·流式对话
这个昵称也不能用吗?35 分钟前
【安卓 - 小组件 - app进程与桌面进程】
前端
kuilaurence38 分钟前
CSS `border-image` 给文字加可拉伸边框
前端·css
一 乐42 分钟前
校园墙|校园社区|基于Java+vue的校园墙小程序系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·小程序
一只小阿乐1 小时前
前端react 开发 图书列表分页
前端·react.js·react·ant-