Skip to content

Commit da2ced1

Browse files
authored
fix(runtime-core): set scope id before props (#6948)
close #6923 Also ensure consistency with Vue 2
1 parent f2c46ed commit da2ced1

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

packages/runtime-core/__tests__/scopeId.spec.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ describe('scopeId runtime support', () => {
126126
const root = nodeOps.createElement('div')
127127
render(h(Root), root)
128128
expect(serializeInner(root)).toBe(
129-
`<div class="wrapper" wrapper slotted root>` +
129+
`<div wrapper slotted root class="wrapper">` +
130130
`<div root slotted-s>hoisted</div>` +
131131
`<div root slotted-s>dynamic</div>` +
132132
`</div>`
@@ -152,8 +152,8 @@ describe('scopeId runtime support', () => {
152152
const root2 = nodeOps.createElement('div')
153153
render(h(Root2), root2)
154154
expect(serializeInner(root2)).toBe(
155-
`<div class="wrapper" wrapper slotted root>` +
156-
`<div class="wrapper" wrapper root slotted-s>` +
155+
`<div wrapper slotted root class="wrapper">` +
156+
`<div wrapper root slotted-s class="wrapper">` +
157157
`<div root>hoisted</div>` +
158158
`<div root>dynamic</div>` +
159159
`</div>` +

packages/runtime-core/src/renderer.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -646,6 +646,8 @@ function baseCreateRenderer(
646646
if (dirs) {
647647
invokeDirectiveHook(vnode, null, parentComponent, 'created')
648648
}
649+
// scopeId
650+
setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent)
649651
// props
650652
if (props) {
651653
for (const key in props) {
@@ -679,8 +681,6 @@ function baseCreateRenderer(
679681
invokeVNodeHook(vnodeHook, parentComponent, vnode)
680682
}
681683
}
682-
// scopeId
683-
setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent)
684684

685685
if (__DEV__ || __FEATURE_PROD_DEVTOOLS__) {
686686
Object.defineProperty(el, '__vnode', {

0 commit comments

Comments
 (0)