【发布时间】:2018-05-17 23:18:44
【问题描述】:
看了the docs,还是看不懂。
我知道data、computed、watch、methods 是做什么的,但是在 Vue.js 中 nextTick() 是做什么用的?
【问题讨论】:
-
要理解的关键概念是 DOM 是 异步更新的。当您在 Vue 中更改值时,更改不会立即呈现到 DOM。相反,Vue 将 DOM 更新排队,然后在计时器上更新 DOM。通常,这发生得非常快,以至于没有什么区别,但是有时,您需要在 Vue 渲染后更新渲染的 DOM,您不能立即在方法中执行此操作,因为更新尚未发生然而。在这些情况下,您将使用
nextTick。 Documented here. -
补充上面@Bert 在https://stackoverflow.com/q/47634258/9979046 中所说的内容,nextTick() 将用于单元测试中,当您需要检查一个元素是否存在于 DOM (HTML) 中时,例如,如果您获取有关 Axios 请求的一些信息。
-
为什么我觉得 nextTick 有点像
const nextTick = (callback, context) => { setTimeout(callback.bind(context), 0); };?