Home / Function/ genOnce() — vue Function Reference

genOnce() — vue Function Reference

Architecture documentation for the genOnce() function in index.ts from the vue codebase.

Entity Profile

Dependency Diagram

graph TD
  56d1ac63_81aa_e60d_9132_8fea48dc8c53["genOnce()"]
  ce806ab8_847b_273b_e07c_0a796c2f76ae["genElement()"]
  ce806ab8_847b_273b_e07c_0a796c2f76ae -->|calls| 56d1ac63_81aa_e60d_9132_8fea48dc8c53
  5e8059c6_fb22_746e_61a2_86676c11cb7a["genIfConditions()"]
  5e8059c6_fb22_746e_61a2_86676c11cb7a -->|calls| 56d1ac63_81aa_e60d_9132_8fea48dc8c53
  e7c86dbc_f669_e04c_eae5_85c469684781["genIf()"]
  56d1ac63_81aa_e60d_9132_8fea48dc8c53 -->|calls| e7c86dbc_f669_e04c_eae5_85c469684781
  ce806ab8_847b_273b_e07c_0a796c2f76ae["genElement()"]
  56d1ac63_81aa_e60d_9132_8fea48dc8c53 -->|calls| ce806ab8_847b_273b_e07c_0a796c2f76ae
  c037e87b_39c5_dd4d_b28d_7477dd65a1a0["genStatic()"]
  56d1ac63_81aa_e60d_9132_8fea48dc8c53 -->|calls| c037e87b_39c5_dd4d_b28d_7477dd65a1a0
  style 56d1ac63_81aa_e60d_9132_8fea48dc8c53 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

src/compiler/codegen/index.ts lines 174–200

function genOnce(el: ASTElement, state: CodegenState): string {
  el.onceProcessed = true
  if (el.if && !el.ifProcessed) {
    return genIf(el, state)
  } else if (el.staticInFor) {
    let key = ''
    let parent = el.parent
    while (parent) {
      if (parent.for) {
        key = parent.key!
        break
      }
      parent = parent.parent
    }
    if (!key) {
      __DEV__ &&
        state.warn(
          `v-once can only be used inside v-for that is keyed. `,
          el.rawAttrsMap['v-once']
        )
      return genElement(el, state)
    }
    return `_o(${genElement(el, state)},${state.onceId++},${key})`
  } else {
    return genStatic(el, state)
  }
}

Subdomains

Frequently Asked Questions

What does genOnce() do?
genOnce() is a function in the vue codebase.
What does genOnce() call?
genOnce() calls 3 function(s): genElement, genIf, genStatic.
What calls genOnce()?
genOnce() is called by 2 function(s): genElement, genIfConditions.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free