fix(watch): stop instance-bound watchers in post render queue
so that changes triggered in beforeUnmount get correct value in callback fix #1525
This commit is contained in:
@@ -1996,17 +1996,19 @@ function baseCreateRenderer(
|
||||
if (bum) {
|
||||
invokeArrayFns(bum)
|
||||
}
|
||||
if (effects) {
|
||||
for (let i = 0; i < effects.length; i++) {
|
||||
stop(effects[i])
|
||||
}
|
||||
}
|
||||
// update may be null if a component is unmounted before its async
|
||||
// setup has resolved.
|
||||
if (update) {
|
||||
stop(update)
|
||||
unmount(subTree, instance, parentSuspense, doRemove)
|
||||
}
|
||||
if (effects) {
|
||||
queuePostRenderEffect(() => {
|
||||
for (let i = 0; i < effects.length; i++) {
|
||||
stop(effects[i])
|
||||
}
|
||||
}, parentSuspense)
|
||||
}
|
||||
// unmounted hook
|
||||
if (um) {
|
||||
queuePostRenderEffect(um, parentSuspense)
|
||||
|
||||
Reference in New Issue
Block a user