Skip to content

Commit 7f55411

Browse files
committed
fix(router-view): register instance in init hook
close vuejs#2561
1 parent 7ff4de4 commit 7f55411

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/components/view.js

+11
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,17 @@ export default {
6969
matched.instances[name] = vnode.componentInstance
7070
}
7171

72+
// register instance in init hook
73+
// in case kept-alive component be actived when routes changed
74+
data.hook.init = (vnode) => {
75+
if (vnode.data.keepAlive &&
76+
vnode.componentInstance &&
77+
vnode.componentInstance !== matched.instances[name]
78+
) {
79+
matched.instances[name] = vnode.componentInstance
80+
}
81+
}
82+
7283
// resolve props
7384
let propsToPass = data.props = resolveProps(route, matched.props && matched.props[name])
7485
if (propsToPass) {

0 commit comments

Comments
 (0)