From 5858251246749c116978698bf6af898f07021591 Mon Sep 17 00:00:00 2001 From: sh7dm <d3dx12.xx@gmail.com> Date: Sun, 24 Feb 2019 13:53:22 +0300 Subject: [PATCH 1/4] feat(lifecycle): add beforeDeactivated hook --- src/core/instance/lifecycle.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/core/instance/lifecycle.js b/src/core/instance/lifecycle.js index b7265df0aaf..61d2bc61145 100644 --- a/src/core/instance/lifecycle.js +++ b/src/core/instance/lifecycle.js @@ -325,6 +325,7 @@ export function deactivateChildComponent (vm: Component, direct?: boolean) { } } if (!vm._inactive) { + callHook(vm, 'beforeDeactivated') vm._inactive = true for (let i = 0; i < vm.$children.length; i++) { deactivateChildComponent(vm.$children[i]) From 0d02088b3ff531fa12339ca5e658193d8fc6413d Mon Sep 17 00:00:00 2001 From: GU Yiling <justice360@gmail.com> Date: Sun, 24 Feb 2019 18:23:45 +0300 Subject: [PATCH 2/4] chore: rename beforeDeactivated to beforeDeactivate Co-Authored-By: sh7dm <sh7dm@outlook.com> --- src/core/instance/lifecycle.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/instance/lifecycle.js b/src/core/instance/lifecycle.js index 61d2bc61145..d272c7a68f8 100644 --- a/src/core/instance/lifecycle.js +++ b/src/core/instance/lifecycle.js @@ -325,7 +325,7 @@ export function deactivateChildComponent (vm: Component, direct?: boolean) { } } if (!vm._inactive) { - callHook(vm, 'beforeDeactivated') + callHook(vm, 'beforeDeactivate') vm._inactive = true for (let i = 0; i < vm.$children.length; i++) { deactivateChildComponent(vm.$children[i]) From 028723671b985072575a7f2df7db75ebe0359e85 Mon Sep 17 00:00:00 2001 From: Dmitry Sharshakov <d3dx12.xx@gmail.com> Date: Fri, 1 Mar 2019 17:58:22 +0300 Subject: [PATCH 3/4] feat(types): add beforeDeactivate --- types/options.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/options.d.ts b/types/options.d.ts index 1bb5fbb619f..23cc467c650 100644 --- a/types/options.d.ts +++ b/types/options.d.ts @@ -94,6 +94,7 @@ export interface ComponentOptions< beforeUpdate?(): void; updated?(): void; activated?(): void; + beforeDeactivate?(): void; deactivated?(): void; errorCaptured?(err: Error, vm: Vue, info: string): boolean | void; serverPrefetch?(this: V): Promise<void>; From 358216eda8870fa04f767d3f24fee0545e3eeb33 Mon Sep 17 00:00:00 2001 From: sh7dm <d3dx12.xx@gmail.com> Date: Fri, 1 Mar 2019 20:04:45 +0300 Subject: [PATCH 4/4] feat(lifecycle): add beforeDeactivate hook to LIFECYCLE_HOOKS --- src/shared/constants.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/shared/constants.js b/src/shared/constants.js index a8b15e043dd..ecdaf33698f 100644 --- a/src/shared/constants.js +++ b/src/shared/constants.js @@ -16,6 +16,7 @@ export const LIFECYCLE_HOOKS = [ 'beforeDestroy', 'destroyed', 'activated', + 'beforeDeactivate', 'deactivated', 'errorCaptured', 'serverPrefetch'