fix(compiler-core): properly exit self-closing pre tag

fix #4030
This commit is contained in:
Evan You 2021-07-01 15:34:12 -04:00
parent 127ed1b969
commit d2df28dca4

View File

@ -425,6 +425,10 @@ function parseElement(
const isVPreBoundary = context.inVPre && !wasInVPre const isVPreBoundary = context.inVPre && !wasInVPre
if (element.isSelfClosing || context.options.isVoidTag(element.tag)) { if (element.isSelfClosing || context.options.isVoidTag(element.tag)) {
// #4030 self-closing <pre> tag
if (context.options.isPreTag(element.tag)) {
context.inPre = false
}
return element return element
} }
@ -528,14 +532,15 @@ function parseTag(
const cursor = getCursor(context) const cursor = getCursor(context)
const currentSource = context.source const currentSource = context.source
// Attributes.
let props = parseAttributes(context, type)
// check <pre> tag // check <pre> tag
if (context.options.isPreTag(tag)) { const isPreTag = context.options.isPreTag(tag)
if (isPreTag) {
context.inPre = true context.inPre = true
} }
// Attributes.
let props = parseAttributes(context, type)
// check v-pre // check v-pre
if ( if (
type === TagType.Start && type === TagType.Start &&