elementToOpenTagSegments() — vue Function Reference
Architecture documentation for the elementToOpenTagSegments() function in codegen.ts from the vue codebase.
Entity Profile
Dependency Diagram
graph TD 9d3b67d4_d578_dee4_50a8_8ed82301c536["elementToOpenTagSegments()"] 4aaa14b9_d580_5a66_5221_1be3a11a7eed["codegen.ts"] 9d3b67d4_d578_dee4_50a8_8ed82301c536 -->|defined in| 4aaa14b9_d580_5a66_5221_1be3a11a7eed b16796bd_68b9_6a04_0a88_db0f3e9e23a9["genStringElementWithChildren()"] b16796bd_68b9_6a04_0a88_db0f3e9e23a9 -->|calls| 9d3b67d4_d578_dee4_50a8_8ed82301c536 fab98570_5fb1_9215_7014_b249b0beadde["elementToSegments()"] fab98570_5fb1_9215_7014_b249b0beadde -->|calls| 9d3b67d4_d578_dee4_50a8_8ed82301c536 baadd20a_b2eb_ce31_b2fe_7fcd14819897["applyModelTransform()"] 9d3b67d4_d578_dee4_50a8_8ed82301c536 -->|calls| baadd20a_b2eb_ce31_b2fe_7fcd14819897 386cc8d1_c4ff_6f53_715a_0c93b8a6e747["genAttrSegments()"] 9d3b67d4_d578_dee4_50a8_8ed82301c536 -->|calls| 386cc8d1_c4ff_6f53_715a_0c93b8a6e747 1d03c177_581d_f577_3b0a_ad1fbb6de4ba["genDOMPropSegments()"] 9d3b67d4_d578_dee4_50a8_8ed82301c536 -->|calls| 1d03c177_581d_f577_3b0a_ad1fbb6de4ba 19897393_a1e2_9221_0e22_5928060eae7c["genClassSegments()"] 9d3b67d4_d578_dee4_50a8_8ed82301c536 -->|calls| 19897393_a1e2_9221_0e22_5928060eae7c 937b9b26_216a_5f69_4ceb_50dd83cad375["genStyleSegments()"] 9d3b67d4_d578_dee4_50a8_8ed82301c536 -->|calls| 937b9b26_216a_5f69_4ceb_50dd83cad375 style 9d3b67d4_d578_dee4_50a8_8ed82301c536 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/server-renderer/src/optimizing-compiler/codegen.ts lines 151–196
function elementToOpenTagSegments(el, state): Array<StringSegment> {
applyModelTransform(el, state)
let binding
const segments = [{ type: RAW, value: `<${el.tag}` }]
// attrs
if (el.attrs) {
segments.push.apply(segments, genAttrSegments(el.attrs))
}
// domProps
if (el.props) {
segments.push.apply(segments, genDOMPropSegments(el.props, el.attrs))
}
// v-bind="object"
if ((binding = el.attrsMap['v-bind'])) {
segments.push({ type: EXPRESSION, value: `_ssrAttrs(${binding})` })
}
// v-bind.prop="object"
if ((binding = el.attrsMap['v-bind.prop'])) {
segments.push({ type: EXPRESSION, value: `_ssrDOMProps(${binding})` })
}
// class
if (el.staticClass || el.classBinding) {
segments.push.apply(
segments,
genClassSegments(el.staticClass, el.classBinding)
)
}
// style & v-show
if (el.staticStyle || el.styleBinding || el.attrsMap['v-show']) {
segments.push.apply(
segments,
genStyleSegments(
el.attrsMap.style,
el.staticStyle,
el.styleBinding,
el.attrsMap['v-show']
)
)
}
// _scopedId
if (state.options.scopeId) {
segments.push({ type: RAW, value: ` ${state.options.scopeId}` })
}
segments.push({ type: RAW, value: `>` })
return segments
}
Domain
Subdomains
Calls
Source
Frequently Asked Questions
What does elementToOpenTagSegments() do?
elementToOpenTagSegments() is a function in the vue codebase, defined in packages/server-renderer/src/optimizing-compiler/codegen.ts.
Where is elementToOpenTagSegments() defined?
elementToOpenTagSegments() is defined in packages/server-renderer/src/optimizing-compiler/codegen.ts at line 151.
What does elementToOpenTagSegments() call?
elementToOpenTagSegments() calls 5 function(s): applyModelTransform, genAttrSegments, genClassSegments, genDOMPropSegments, genStyleSegments.
What calls elementToOpenTagSegments()?
elementToOpenTagSegments() is called by 2 function(s): elementToSegments, genStringElementWithChildren.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free