elementToOpenTagSegments() — vue Function Reference
Architecture documentation for the elementToOpenTagSegments() function in codegen.ts from the vue codebase.
Entity Profile
Dependency Diagram
graph TD 196fe819_bb8d_b1f6_0dc9_740b319c4953["elementToOpenTagSegments()"] d70222cb_3265_c3fc_c0cf_09247995ea9a["codegen.ts"] 196fe819_bb8d_b1f6_0dc9_740b319c4953 -->|defined in| d70222cb_3265_c3fc_c0cf_09247995ea9a 89245b7a_d5b7_6af6_02cc_eff68f4d4b43["genStringElementWithChildren()"] 89245b7a_d5b7_6af6_02cc_eff68f4d4b43 -->|calls| 196fe819_bb8d_b1f6_0dc9_740b319c4953 0a738585_4681_2f66_e7c0_146bcca3724c["elementToSegments()"] 0a738585_4681_2f66_e7c0_146bcca3724c -->|calls| 196fe819_bb8d_b1f6_0dc9_740b319c4953 97356b81_727c_45c1_8d6a_82da26a8edcd["applyModelTransform()"] 196fe819_bb8d_b1f6_0dc9_740b319c4953 -->|calls| 97356b81_727c_45c1_8d6a_82da26a8edcd 86a1b3ca_53d9_9a22_6f43_003536900863["genAttrSegments()"] 196fe819_bb8d_b1f6_0dc9_740b319c4953 -->|calls| 86a1b3ca_53d9_9a22_6f43_003536900863 8b12e37d_7ab6_437f_93c1_1c031b654fda["genDOMPropSegments()"] 196fe819_bb8d_b1f6_0dc9_740b319c4953 -->|calls| 8b12e37d_7ab6_437f_93c1_1c031b654fda 8dc601ee_8b46_b0a6_f4e9_7332b2a6e50c["genClassSegments()"] 196fe819_bb8d_b1f6_0dc9_740b319c4953 -->|calls| 8dc601ee_8b46_b0a6_f4e9_7332b2a6e50c c5193222_074c_cdf9_922f_ba4ba8f6455b["genStyleSegments()"] 196fe819_bb8d_b1f6_0dc9_740b319c4953 -->|calls| c5193222_074c_cdf9_922f_ba4ba8f6455b style 196fe819_bb8d_b1f6_0dc9_740b319c4953 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