Skip to content

Commit

Permalink
fix(runtime-core): ensure slot compiler marker writable (vuejs#10825)
Browse files Browse the repository at this point in the history
  • Loading branch information
edison1105 authored and lynxlangya committed May 30, 2024
1 parent b998f99 commit 2029617
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
2 changes: 1 addition & 1 deletion packages/runtime-core/src/componentSlots.ts
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ export const initSlots = (
if (type) {
extend(slots, children as InternalSlots)
// make compiler marker non-enumerable
def(slots, '_', type)
def(slots, '_', type, true)
} else {
normalizeObjectSlots(children as RawSlots, slots, instance)
}
Expand Down
8 changes: 7 additions & 1 deletion packages/shared/src/general.ts
Original file line number Diff line number Diff line change
Expand Up @@ -140,10 +140,16 @@ export const invokeArrayFns = (fns: Function[], arg?: any) => {
}
}

export const def = (obj: object, key: string | symbol, value: any) => {
export const def = (
obj: object,
key: string | symbol,
value: any,
writable = false,
) => {
Object.defineProperty(obj, key, {
configurable: true,
enumerable: false,
writable,
value,
})
}
Expand Down

0 comments on commit 2029617

Please sign in to comment.