From d2df28dca42f6679766033f8986b5637dfe64e1e Mon Sep 17 00:00:00 2001 From: Evan You Date: Thu, 1 Jul 2021 15:34:12 -0400 Subject: [PATCH] fix(compiler-core): properly exit self-closing pre tag fix #4030 --- packages/compiler-core/src/parse.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/compiler-core/src/parse.ts b/packages/compiler-core/src/parse.ts index ebae0ce2..9e6ee326 100644 --- a/packages/compiler-core/src/parse.ts +++ b/packages/compiler-core/src/parse.ts @@ -425,6 +425,10 @@ function parseElement( const isVPreBoundary = context.inVPre && !wasInVPre if (element.isSelfClosing || context.options.isVoidTag(element.tag)) { + // #4030 self-closing
 tag
+    if (context.options.isPreTag(element.tag)) {
+      context.inPre = false
+    }
     return element
   }
 
@@ -528,14 +532,15 @@ function parseTag(
   const cursor = getCursor(context)
   const currentSource = context.source
 
-  // Attributes.
-  let props = parseAttributes(context, type)
-
   // check 
 tag
-  if (context.options.isPreTag(tag)) {
+  const isPreTag = context.options.isPreTag(tag)
+  if (isPreTag) {
     context.inPre = true
   }
 
+  // Attributes.
+  let props = parseAttributes(context, type)
+
   // check v-pre
   if (
     type === TagType.Start &&