关于 $nextTick 和 updated 生命周期函数

来源:3-10 vue组件更新之后如何获取最新DOM

慕先生5289097

2021-08-09

比如有个函数

this.$nextTick(function fn(){console.log("fn")})

是不是等效于

updated(){
	(function fn(){console.log("fn")})();
}

因为我认为 updated 生命周期函数执行完毕的时候,也就是虚拟 DOM 被更新到真实 DOM 完毕之后,所以两者应该是等价的。
不知道我这个问题描述的是否清晰。。。。。

写回答

1回答

双越

2021-08-09

如果不涉及到 DOM 操作,你这样是等价的。

但如果涉及到 DOM 操作,就必须用 $nextTick ,用 updated 是不行的,updated 时 DOM 尚未渲染完成。

0
1
老杨Ruby
老师你好,我查阅官网updated钩子函数有写到"在数据更改导致的虚拟 DOM 重新渲染和更新完毕之后被调用。当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作",这时候DOM应该已经渲染完成了吧
2021-10-22
共1条回复

2024版 前端框架及项目面试 聚焦Vue3/React/Webpack

面向1-3年前端的框架及项目面试“刚需内容”

4664 学习 · 1644 问题

查看课程