|
|
@@ -7,6 +7,7 @@ import { createEmptyVNode } from '../vdom/vnode'
|
|
|
import { observerState } from '../observer/index'
|
|
|
import { updateComponentListeners } from './events'
|
|
|
import { resolveSlots } from './render-helpers/resolve-slots'
|
|
|
+import { pushTarget, popTarget } from '../observer/dep'
|
|
|
|
|
|
import {
|
|
|
warn,
|
|
|
@@ -315,6 +316,8 @@ export function deactivateChildComponent (vm: Component, direct?: boolean) {
|
|
|
}
|
|
|
|
|
|
export function callHook (vm: Component, hook: string) {
|
|
|
+ // #7573 disable dep collection when invoking lifecycle hooks
|
|
|
+ pushTarget()
|
|
|
const handlers = vm.$options[hook]
|
|
|
if (handlers) {
|
|
|
for (let i = 0, j = handlers.length; i < j; i++) {
|
|
|
@@ -328,4 +331,5 @@ export function callHook (vm: Component, hook: string) {
|
|
|
if (vm._hasHookEvent) {
|
|
|
vm.$emit('hook:' + hook)
|
|
|
}
|
|
|
+ popTarget()
|
|
|
}
|