From 015826c4e4c297793239efb4afb04aaee56ad035 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Mon, 19 Feb 2024 09:42:40 +0800 Subject: [PATCH] fix: multiple v-bind --- playground/virtual-dom/App.vue | 6 ++---- src/core/transform.ts | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/playground/virtual-dom/App.vue b/playground/virtual-dom/App.vue index 96804e3..a76fdeb 100644 --- a/playground/virtual-dom/App.vue +++ b/playground/virtual-dom/App.vue @@ -73,10 +73,8 @@ defineRender(( <>
{/* Function Components */} diff --git a/src/core/transform.ts b/src/core/transform.ts index baaf837..89b5e87 100644 --- a/src/core/transform.ts +++ b/src/core/transform.ts @@ -71,7 +71,7 @@ export function transformVueJsxVapor( name = name.replace(/^(?:on)([A-Z])/, (_, $1) => `@${$1.toLowerCase()}`) if (!isFunctionExpression(node.value.expression)) - s.appendRight(node.value.expression.start!, '($event) =>') + s.appendRight(node.value.expression.start!, '($event) => ') } else if (!name.startsWith('v-')) { name = `:${name}` @@ -169,7 +169,7 @@ export function transformVueJsxVapor( code = code .replace('_cache', '_cache = []') .replaceAll(/_ctx\.(?!\$slots)/g, '') - .replaceAll(/{ "v\d+\-bind": ([\s\S]*) }/g, '$1') + .replaceAll(/"v\d+\-bind": /g, '...') .replaceAll(/(? `(() => { try { return ${$1.replaceAll(/(?<=\w)46(?=\w)/g, '.')} } catch { return ${$0} } })()`) return runtime === '"vue"' ? `(${code})()` : code }