Home / Function/ genOnce() — vue Function Reference

genOnce() — vue Function Reference

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

Function typescript VueCore GlobalAPI calls 3 called by 2

Entity Profile

Dependency Diagram

graph TD
  f9b375f7_0463_ff1f_5be6_7e356b4bded3["genOnce()"]
  6a18399e_553e_fef8_6a39_746f79f94bd2["index.ts"]
  f9b375f7_0463_ff1f_5be6_7e356b4bded3 -->|defined in| 6a18399e_553e_fef8_6a39_746f79f94bd2
  009d7fc7_09cb_184e_e93c_1f468ff505c0["genElement()"]
  009d7fc7_09cb_184e_e93c_1f468ff505c0 -->|calls| f9b375f7_0463_ff1f_5be6_7e356b4bded3
  86c7d981_30e6_c29a_19f3_e7b26950b745["genIfConditions()"]
  86c7d981_30e6_c29a_19f3_e7b26950b745 -->|calls| f9b375f7_0463_ff1f_5be6_7e356b4bded3
  539756f9_3a11_1e1c_313e_d779ff83093a["genIf()"]
  f9b375f7_0463_ff1f_5be6_7e356b4bded3 -->|calls| 539756f9_3a11_1e1c_313e_d779ff83093a
  009d7fc7_09cb_184e_e93c_1f468ff505c0["genElement()"]
  f9b375f7_0463_ff1f_5be6_7e356b4bded3 -->|calls| 009d7fc7_09cb_184e_e93c_1f468ff505c0
  efed1b05_29b1_203b_9210_7f683c302bb9["genStatic()"]
  f9b375f7_0463_ff1f_5be6_7e356b4bded3 -->|calls| efed1b05_29b1_203b_9210_7f683c302bb9
  style f9b375f7_0463_ff1f_5be6_7e356b4bded3 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)
  }
}

Domain

Subdomains

Frequently Asked Questions

What does genOnce() do?
genOnce() is a function in the vue codebase, defined in src/compiler/codegen/index.ts.
Where is genOnce() defined?
genOnce() is defined in src/compiler/codegen/index.ts at line 174.
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