Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[vue] 为什么vue使用异步更新组件? #326

Open
haizhilin2013 opened this issue Jun 20, 2019 · 4 comments
Open

[vue] 为什么vue使用异步更新组件? #326

haizhilin2013 opened this issue Jun 20, 2019 · 4 comments
Labels
vue vue

Comments

@haizhilin2013
Copy link
Collaborator

[vue] 为什么vue使用异步更新组件?

@haizhilin2013 haizhilin2013 added the vue vue label Jun 20, 2019
@Myh-cs
Copy link

Myh-cs commented Jul 9, 2019

批量更新 收集当前的改动一次性更新 节省diff开销吧?

@qq-radio
Copy link

qq-radio commented Jan 3, 2021

避免不必要的计算和dom操作

@sc950828
Copy link

性能优化,将重复的修改合并为一次

@Cai-zhiji
Copy link

Vue使用异步更新组件的机制是为了优化性能和提供更好的用户体验。

批量更新

异步更新组件可以将多个状态变更操作合并为一次更新,从而减少了不必要的DOM操作和重绘,提高了性能。Vue会在下一个事件循环周期(microtask)中执行组件更新,以此来批量处理多个状态变更。

避免不必要的计算

Vue使用虚拟DOM来追踪组件状态的变化,并根据需要进行DOM更新。通过异步更新,Vue可以在更新前进行必要的优化,避免不必要的计算和DOM操作,从而提高了效率。

避免阻塞用户交互

异步更新使得组件更新的过程不会阻塞用户界面的响应。由于更新是在下一个事件循环周期中执行的,用户可以继续与界面进行交互,而不会被阻塞或造成卡顿。

合理利用资源

异步更新可以更好地利用计算资源,将更新操作分散到不同的事件循环中执行。这有助于提高应用程序的整体性能,并确保在频繁的状态变更时仍然能够保持流畅的用户体验。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
vue vue
Projects
None yet
Development

No branches or pull requests

5 participants