Skip to content

Commit df39bd6

Browse files
committed
unset matched instance when route component is destroyed
1 parent 4201c9d commit df39bd6

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

src/components/view.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,20 @@ export default {
3131
return h()
3232
}
3333

34+
const name = props.name
3435
const component = inactive
35-
? cache[props.name]
36-
: (cache[props.name] = matched.components[props.name])
36+
? cache[name]
37+
: (cache[name] = matched.components[name])
3738

3839
if (!inactive) {
39-
(data.hook || (data.hook = {})).init = vnode => {
40-
matched.instances[props.name] = vnode.child
40+
const hooks = data.hook || (data.hook = {})
41+
hooks.init = vnode => {
42+
matched.instances[name] = vnode.child
43+
}
44+
hooks.destroy = vnode => {
45+
if (matched.instances[name] === vnode.child) {
46+
matched.instances[name] = undefined
47+
}
4148
}
4249
}
4350

0 commit comments

Comments
 (0)