resolveSlots() — vue Function Reference
Architecture documentation for the resolveSlots() function in resolve-slots.ts from the vue codebase.
Entity Profile
Dependency Diagram
graph TD 456d8782_7a49_0d3e_9e64_31ae4ba7b534["resolveSlots()"] 8aaa5e5e_c1b8_2835_8e40_bd7e697ed38d["updateChildComponent()"] 8aaa5e5e_c1b8_2835_8e40_bd7e697ed38d -->|calls| 456d8782_7a49_0d3e_9e64_31ae4ba7b534 e088d580_2e3e_9093_295c_70dc92327b67["initRender()"] e088d580_2e3e_9093_295c_70dc92327b67 -->|calls| 456d8782_7a49_0d3e_9e64_31ae4ba7b534 7687c516_230a_8fa2_229a_3ce9660be4d2["FunctionalRenderContext()"] 7687c516_230a_8fa2_229a_3ce9660be4d2 -->|calls| 456d8782_7a49_0d3e_9e64_31ae4ba7b534 style 456d8782_7a49_0d3e_9e64_31ae4ba7b534 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
src/core/instance/render-helpers/resolve-slots.ts lines 7–47
export function resolveSlots(
children: Array<VNode> | null | undefined,
context: Component | null
): { [key: string]: Array<VNode> } {
if (!children || !children.length) {
return {}
}
const slots: Record<string, any> = {}
for (let i = 0, l = children.length; i < l; i++) {
const child = children[i]
const data = child.data
// remove slot attribute if the node is resolved as a Vue slot node
if (data && data.attrs && data.attrs.slot) {
delete data.attrs.slot
}
// named slots should only be respected if the vnode was rendered in the
// same context.
if (
(child.context === context || child.fnContext === context) &&
data &&
data.slot != null
) {
const name = data.slot
const slot = slots[name] || (slots[name] = [])
if (child.tag === 'template') {
slot.push.apply(slot, child.children || [])
} else {
slot.push(child)
}
} else {
;(slots.default || (slots.default = [])).push(child)
}
}
// ignore slots that contains only whitespace
for (const name in slots) {
if (slots[name].every(isWhitespace)) {
delete slots[name]
}
}
return slots
}
Domain
Subdomains
Source
Frequently Asked Questions
What does resolveSlots() do?
resolveSlots() is a function in the vue codebase.
What calls resolveSlots()?
resolveSlots() is called by 3 function(s): FunctionalRenderContext, initRender, updateChildComponent.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free