From: Herrington Darkholme <2883231+HerringtonDarkholme@users.noreply.github.com> Date: Tue, 7 Sep 2021 15:36:37 +0000 (+0800) Subject: fix(compiler-core): pick last char when dynamic directive doesn't close (#4507) X-Git-Tag: v3.2.10~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5d262e08d5d5fb29f48ba5fa5b97a9a3e34b9d4b;p=thirdparty%2Fvuejs%2Fcore.git fix(compiler-core): pick last char when dynamic directive doesn't close (#4507) --- diff --git a/packages/compiler-core/__tests__/__snapshots__/parse.spec.ts.snap b/packages/compiler-core/__tests__/__snapshots__/parse.spec.ts.snap index d14631367c..d7ac9888a5 100644 --- a/packages/compiler-core/__tests__/__snapshots__/parse.spec.ts.snap +++ b/packages/compiler-core/__tests__/__snapshots__/parse.spec.ts.snap @@ -6260,7 +6260,7 @@ Object { Object { "arg": Object { "constType": 0, - "content": "se", + "content": "sef", "isStatic": false, "loc": Object { "end": Object { diff --git a/packages/compiler-core/src/parse.ts b/packages/compiler-core/src/parse.ts index 907e54d742..fd31f17aee 100644 --- a/packages/compiler-core/src/parse.ts +++ b/packages/compiler-core/src/parse.ts @@ -814,9 +814,10 @@ function parseAttribute( context, ErrorCodes.X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END ) + content = content.substr(1) + } else { + content = content.substr(1, content.length - 2) } - - content = content.substr(1, content.length - 2) } else if (isSlot) { // #1241 special case for v-slot: vuetify relies extensively on slot // names containing dots. v-slot doesn't have any modifiers and Vue 2.x