Home / Function/ elementToOpenTagSegments() — vue Function Reference

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
}

Subdomains

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