diff --git a/packages/compiler-core/__tests__/__snapshots__/scopeId.spec.ts.snap b/packages/compiler-core/__tests__/__snapshots__/scopeId.spec.ts.snap
index b1e63a43..c8df4217 100644
--- a/packages/compiler-core/__tests__/__snapshots__/scopeId.spec.ts.snap
+++ b/packages/compiler-core/__tests__/__snapshots__/scopeId.spec.ts.snap
@@ -24,7 +24,7 @@ export function render(_ctx, _cache) {
const _component_Child = _resolveComponent(\\"Child\\")
return (_openBlock(), _createBlock(_component_Child, null, {
- default: _withId(() => [
+ default: _withCtx(() => [
_createElementVNode(\\"div\\")
]),
_: 1 /* STABLE */
@@ -42,7 +42,7 @@ export function render(_ctx, _cache) {
(_ctx.ok)
? {
name: \\"foo\\",
- fn: _withId(() => [
+ fn: _withCtx(() => [
_createElementVNode(\\"div\\")
])
}
@@ -50,7 +50,7 @@ export function render(_ctx, _cache) {
_renderList(_ctx.list, (i) => {
return {
name: i,
- fn: _withId(() => [
+ fn: _withCtx(() => [
_createElementVNode(\\"div\\")
])
}
@@ -66,10 +66,10 @@ export function render(_ctx, _cache) {
const _component_Child = _resolveComponent(\\"Child\\")
return (_openBlock(), _createBlock(_component_Child, null, {
- foo: _withId(({ msg }) => [
+ foo: _withCtx(({ msg }) => [
_createTextVNode(_toDisplayString(msg), 1 /* TEXT */)
]),
- bar: _withId(() => [
+ bar: _withCtx(() => [
_createElementVNode(\\"div\\")
]),
_: 1 /* STABLE */
diff --git a/packages/compiler-core/__tests__/scopeId.spec.ts b/packages/compiler-core/__tests__/scopeId.spec.ts
index a9545d86..1f5f6f71 100644
--- a/packages/compiler-core/__tests__/scopeId.spec.ts
+++ b/packages/compiler-core/__tests__/scopeId.spec.ts
@@ -20,7 +20,7 @@ describe('scopeId compiler support', () => {
mode: 'module',
scopeId: 'test'
})
- expect(code).toMatch(`default: _withId(() => [`)
+ expect(code).toMatch(`default: _withCtx(() => [`)
expect(code).toMatchSnapshot()
})
@@ -36,8 +36,8 @@ describe('scopeId compiler support', () => {
scopeId: 'test'
}
)
- expect(code).toMatch(`foo: _withId(({ msg }) => [`)
- expect(code).toMatch(`bar: _withId(() => [`)
+ expect(code).toMatch(`foo: _withCtx(({ msg }) => [`)
+ expect(code).toMatch(`bar: _withCtx(() => [`)
expect(code).toMatchSnapshot()
})
@@ -53,8 +53,8 @@ describe('scopeId compiler support', () => {
scopeId: 'test'
}
)
- expect(code).toMatch(/name: "foo",\s+fn: _withId\(/)
- expect(code).toMatch(/name: i,\s+fn: _withId\(/)
+ expect(code).toMatch(/name: "foo",\s+fn: _withCtx\(/)
+ expect(code).toMatch(/name: i,\s+fn: _withCtx\(/)
expect(code).toMatchSnapshot()
})
diff --git a/packages/compiler-core/src/codegen.ts b/packages/compiler-core/src/codegen.ts
index e93ef5dc..28d30ddb 100644
--- a/packages/compiler-core/src/codegen.ts
+++ b/packages/compiler-core/src/codegen.ts
@@ -58,7 +58,6 @@ import {
import { ImportItem } from './transform'
const PURE_ANNOTATION = `/*#__PURE__*/`
-const WITH_ID = `_withId`
type CodegenNode = TemplateChildNode | JSChildNode | SSRCodegenNode
@@ -821,15 +820,11 @@ function genFunctionExpression(
node: FunctionExpression,
context: CodegenContext
) {
- const { push, indent, deindent, scopeId, mode } = context
+ const { push, indent, deindent } = context
const { params, returns, body, newline, isSlot } = node
- // slot functions also need to push scopeId before rendering its content
- const genScopeId =
- !__BROWSER__ && isSlot && scopeId != null && mode !== 'function'
-
if (isSlot) {
// wrap slot functions with owner context
- push(genScopeId ? `${WITH_ID}(` : `_${helperNameMap[WITH_CTX]}(`)
+ push(`_${helperNameMap[WITH_CTX]}(`)
}
push(`(`, node)
if (isArray(params)) {
diff --git a/packages/compiler-ssr/__tests__/ssrScopeId.spec.ts b/packages/compiler-ssr/__tests__/ssrScopeId.spec.ts
index 4bf3f26c..cc1ade35 100644
--- a/packages/compiler-ssr/__tests__/ssrScopeId.spec.ts
+++ b/packages/compiler-ssr/__tests__/ssrScopeId.spec.ts
@@ -34,7 +34,7 @@ describe('ssr: scopeId', () => {
const _component_foo = _resolveComponent(\\"foo\\")
_push(_ssrRenderComponent(_component_foo, _attrs, {
- default: _withId((_, _push, _parent, _scopeId) => {
+ default: _withCtx((_, _push, _parent, _scopeId) => {
if (_push) {
_push(\`foo\`)
} else {
@@ -63,7 +63,7 @@ describe('ssr: scopeId', () => {
const _component_foo = _resolveComponent(\\"foo\\")
_push(_ssrRenderComponent(_component_foo, _attrs, {
- default: _withId((_, _push, _parent, _scopeId) => {
+ default: _withCtx((_, _push, _parent, _scopeId) => {
if (_push) {
_push(\`hello\`)
} else {
@@ -93,11 +93,11 @@ describe('ssr: scopeId', () => {
const _component_bar = _resolveComponent(\\"bar\\")
_push(_ssrRenderComponent(_component_foo, _attrs, {
- default: _withId((_, _push, _parent, _scopeId) => {
+ default: _withCtx((_, _push, _parent, _scopeId) => {
if (_push) {
_push(\`hello\`)
_push(_ssrRenderComponent(_component_bar, null, {
- default: _withId((_, _push, _parent, _scopeId) => {
+ default: _withCtx((_, _push, _parent, _scopeId) => {
if (_push) {
_push(\`\`)
} else {
@@ -112,7 +112,7 @@ describe('ssr: scopeId', () => {
return [
_createVNode(\\"span\\", null, \\"hello\\"),
_createVNode(_component_bar, null, {
- default: _withId(() => [
+ default: _withCtx(() => [
_createVNode(\\"span\\")
]),
_: 1 /* STABLE */