Vue $nextTick

我们用一个例子来说明$nextTick的作用:

我们用一个变量showIpt来控制input框的显示和隐藏,默认是隐藏。

我们点击一个按钮后显示这个输入框的同时,input还要自动获取焦点。

但是我们点击按钮过后并没有生效。

为什么?this.showIpt=true执行过后接着就是执行this.$refs.ipt.focus() ,所有的代码执行完毕后将解析好的DOM放到页面上去。

也就是说,focus() 的时候DOM还没解析呢!

因此,我们就可以使用$nextTick() 来解决这个问题:

this.$nextTick( // 执行函数 )

$nextTick() 的作用就是在下一次DOM更新结束后执行其指定的回调。

当数据改变后,要对更新后的DOM进行一些操作时,就可以在$nextTick() 的回调函数中执行。

相关推荐
尤水就下13 小时前
聊聊 Prompt 是怎么一路进化到 Harness 的
前端·人工智能·ai编程
李溪白13 小时前
深入 JavaScript 作用域:从变量提升到执行上下文的底层逻辑
前端
想风13 小时前
Claude Code 实用技巧工作坊 —— Boris Cherny
前端·后端·github
梦想blog13 小时前
Claude Code + Chrome MCP:让浏览器自动化测试更简单
前端·chrome·自动化·mcp
YHHLAI13 小时前
React `useState` 深入浅出
前端·javascript·react.js
夜猫子小强13 小时前
手搓一个「本地邮件摘要」工具:零依赖、数据不出电脑
前端
PBitW13 小时前
Element plus 自定义列顺序 —— 求指点
前端·element
绿岛之北13 小时前
Electron 安全第五章:网络请求安全
前端·electron
深漂的华哥13 小时前
Ruoyi-Vue-Plus(V5.6.2) 开发环境搭建
java·前端·spring boot·后端·spring·ruoyi
YIAN13 小时前
TS 面试必考题:type 与 interface 的 6 大核心区别,90% 的人答不全
前端·typescript