fix(runtime-core): properly merge unmounted and beforeUnmount options (#4447)

This commit is contained in:
laineus 2021-09-02 05:41:57 +09:00 committed by GitHub
parent 6f555cf98c
commit 741d3b36f2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 1 deletions

View File

@ -1265,14 +1265,22 @@ describe('api: options', () => {
test('this.$options[lifecycle-name]', () => {
const mixin = {
mounted() {}
mounted() {},
beforeUnmount() {},
unmounted() {}
}
createApp({
mixins: [mixin],
mounted() {},
beforeUnmount() {},
unmounted() {},
created() {
expect(this.$options.mounted).toBeInstanceOf(Array)
expect(this.$options.mounted.length).toBe(2)
expect(this.$options.beforeUnmount).toBeInstanceOf(Array)
expect(this.$options.beforeUnmount.length).toBe(2)
expect(this.$options.unmounted).toBeInstanceOf(Array)
expect(this.$options.unmounted.length).toBe(2)
},
render: () => null
}).mount(nodeOps.createElement('div'))

View File

@ -1015,7 +1015,9 @@ export const internalOptionMergeStrats: Record<string, Function> = {
beforeUpdate: mergeAsArray,
updated: mergeAsArray,
beforeDestroy: mergeAsArray,
beforeUnmount: mergeAsArray,
destroyed: mergeAsArray,
unmounted: mergeAsArray,
activated: mergeAsArray,
deactivated: mergeAsArray,
errorCaptured: mergeAsArray,