From: fishDog <40156382+Bigfish8@users.noreply.github.com> Date: Sat, 7 Aug 2021 02:37:55 +0000 (+0800) Subject: fix(compiler-core): detected forwarded slots in nested components (#4268) X-Git-Tag: v3.2.0-beta.8~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=abb3a81e871e271db8dd882f9323551e753cc00f;p=thirdparty%2Fvuejs%2Fcore.git fix(compiler-core): detected forwarded slots in nested components (#4268) fix #4244 --- diff --git a/packages/compiler-core/__tests__/transforms/vSlot.spec.ts b/packages/compiler-core/__tests__/transforms/vSlot.spec.ts index bb26d66893..4a7df1e8df 100644 --- a/packages/compiler-core/__tests__/transforms/vSlot.spec.ts +++ b/packages/compiler-core/__tests__/transforms/vSlot.spec.ts @@ -778,6 +778,13 @@ describe('compiler: transform component slots', () => { ) expect(slots).toMatchObject(toMatch) }) + + test('', () => { + const { slots } = parseWithSlots( + `` + ) + expect(slots).toMatchObject(toMatch) + }) }) describe('errors', () => { diff --git a/packages/compiler-core/src/transforms/vSlot.ts b/packages/compiler-core/src/transforms/vSlot.ts index 68aa1f67cc..8fc86740eb 100644 --- a/packages/compiler-core/src/transforms/vSlot.ts +++ b/packages/compiler-core/src/transforms/vSlot.ts @@ -384,9 +384,7 @@ function hasForwardedSlots(children: TemplateChildNode[]): boolean { case NodeTypes.ELEMENT: if ( child.tagType === ElementTypes.SLOT || - ((child.tagType === ElementTypes.ELEMENT || - child.tagType === ElementTypes.TEMPLATE) && - hasForwardedSlots(child.children)) + hasForwardedSlots(child.children) ) { return true }