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)
}
}
Domain
Subdomains
Called By
Source
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