core
core copied to clipboard
fix(compiler-vapor): prevent caching variables in function expression
const { ir, code } = compileWithTransformRef(
`<div :ref="bar => foo = bar" />`,
{ inline: true },
)
expect(code).toMatchInlineSnapshot(`
"
const _setTemplateRef = _createTemplateRefSetter()
const n0 = t0()
let r0
_renderEffect(() => {
const _bar = bar
// ^^^^^^^^^^^^^^^^
r0 = _setTemplateRef(n0, bar => foo = bar, r0)
})
return n0
"
`)
const _bar = bar shouldn't be generated