From: daiwei Date: Thu, 6 Nov 2025 06:55:51 +0000 (+0800) Subject: chore: Merge branch 'minor' into edison/fix/eventErrorHandling X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F13769%2Fhead;p=thirdparty%2Fvuejs%2Fcore.git chore: Merge branch 'minor' into edison/fix/eventErrorHandling --- 2b893536dd2d464c59c14888fbaae5285d0cc5b5 diff --cc packages/compiler-vapor/__tests__/__snapshots__/compile.spec.ts.snap index a7461f1193,c681811dd9..c456c2e998 --- a/packages/compiler-vapor/__tests__/__snapshots__/compile.spec.ts.snap +++ b/packages/compiler-vapor/__tests__/__snapshots__/compile.spec.ts.snap @@@ -180,14 -180,14 +180,14 @@@ export function render(_ctx) `; exports[`compile > dynamic root nodes and interpolation 1`] = ` - "import { child as _child, createInvoker as _createInvoker, setProp as _setProp, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, delegateEvents as _delegateEvents, template as _template } from 'vue'; -"import { txt as _txt, setProp as _setProp, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, delegateEvents as _delegateEvents, template as _template } from 'vue'; ++"import { txt as _txt, createInvoker as _createInvoker, setProp as _setProp, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, delegateEvents as _delegateEvents, template as _template } from 'vue'; const t0 = _template("", true) _delegateEvents("click") export function render(_ctx) { const n0 = t0() - const x0 = _child(n0) + const x0 = _txt(n0) - n0.$evtclick = e => _ctx.handleClick(e) + n0.$evtclick = _createInvoker(e => _ctx.handleClick(e)) _renderEffect(() => { const _count = _ctx.count _setProp(n0, "id", _count) diff --cc packages/compiler-vapor/__tests__/transforms/__snapshots__/vFor.spec.ts.snap index 3dde66569e,6b75644630..54f0e5a9b0 --- a/packages/compiler-vapor/__tests__/transforms/__snapshots__/vFor.spec.ts.snap +++ b/packages/compiler-vapor/__tests__/transforms/__snapshots__/vFor.spec.ts.snap @@@ -31,15 -31,15 +31,15 @@@ export function render(_ctx) `; exports[`compiler: v-for > basic v-for 1`] = ` - "import { child as _child, createInvoker as _createInvoker, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, createFor as _createFor, delegateEvents as _delegateEvents, template as _template } from 'vue'; -"import { txt as _txt, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, createFor as _createFor, delegateEvents as _delegateEvents, template as _template } from 'vue'; ++"import { txt as _txt, createInvoker as _createInvoker, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, createFor as _createFor, delegateEvents as _delegateEvents, template as _template } from 'vue'; const t0 = _template("
", true) _delegateEvents("click") export function render(_ctx) { const n0 = _createFor(() => (_ctx.items), (_for_item0) => { const n2 = t0() - const x2 = _child(n2) + const x2 = _txt(n2) - n2.$evtclick = () => (_ctx.remove(_for_item0.value)) + n2.$evtclick = _createInvoker(() => (_ctx.remove(_for_item0.value))) _renderEffect(() => _setText(x2, _toDisplayString(_for_item0.value))) return n2 }, (item) => (item.id)) diff --cc packages/compiler-vapor/__tests__/transforms/__snapshots__/vOn.spec.ts.snap index 223e45d1bc,8423cb2ed5..3f36ba3ab1 --- a/packages/compiler-vapor/__tests__/transforms/__snapshots__/vOn.spec.ts.snap +++ b/packages/compiler-vapor/__tests__/transforms/__snapshots__/vOn.spec.ts.snap @@@ -332,8 -332,8 +332,8 @@@ const t0 = _template("
", tru export function render(_ctx) { const n0 = t0() - _on(n0, "click", _withModifiers(e => _ctx.test(e), ["stop","prevent"]), { + _on(n0, "click", _createInvoker(_withModifiers(e => _ctx.test(e), ["stop","prevent"])), { - capture: true, + capture: true, once: true }) return n0 diff --cc packages/compiler-vapor/__tests__/transforms/vOn.spec.ts index eab3931ca1,414ea0e298..430060395b --- a/packages/compiler-vapor/__tests__/transforms/vOn.spec.ts +++ b/packages/compiler-vapor/__tests__/transforms/vOn.spec.ts @@@ -430,8 -414,8 +430,8 @@@ describe('v-on', () => }, ]) expect(code).contains( - `_on(n0, "click", _withModifiers(e => _ctx.test(e), ["stop","prevent"]), { + `_on(n0, "click", _createInvoker(_withModifiers(e => _ctx.test(e), ["stop","prevent"])), { - capture: true, + capture: true, once: true })`, ) diff --cc packages/runtime-vapor/src/index.ts index 4550db497a,0d718747d2..d669fba909 --- a/packages/runtime-vapor/src/index.ts +++ b/packages/runtime-vapor/src/index.ts @@@ -26,15 -31,11 +31,17 @@@ export setProp, setDOMProp, setDynamicProps, + setElementText, } from './dom/prop' -export { on, delegate, delegateEvents, setDynamicEvents } from './dom/event' +export { + on, + delegate, + delegateEvents, + setDynamicEvents, + createInvoker, +} from './dom/event' export { createIf } from './apiCreateIf' + export { createKeyedFragment } from './apiCreateFragment' export { createFor, createForSlots,