data中某个属性的值发生改变后,视图是否会立即重新渲染
不会立即同步重新渲染。
Vue
实现响应式并不是在数据发生变化之后DOM立即更新,而是按一定的策略进行DOM的更新。Vue
在更新DOM时是异步执行的。只要侦听到数据变化,Vue
将开启一个队列,并缓冲在同一事件循环中发生的所有数据变更
如果同一个watcher
被多次触发,只会被推入到队列中一次。这种在缓冲时去除重复数据对于避免不必要的计算和DOM操作是非常重要的。然后,在下一个的事件循环tick
中,Vue
刷新队列并执行实际(已出重的)工作