genDefaultModel() — vue Function Reference
Architecture documentation for the genDefaultModel() function in model.ts from the vue codebase.
Entity Profile
Dependency Diagram
graph TD 7a357d2a_ca6b_0c68_87b1_045695805af9["genDefaultModel()"] f36954a8_e8f3_1232_73cb_dd1434e32bc1["model()"] f36954a8_e8f3_1232_73cb_dd1434e32bc1 -->|calls| 7a357d2a_ca6b_0c68_87b1_045695805af9 36fcfc37_216e_9f34_5a69_e976b9f178f6["genAssignmentCode()"] 7a357d2a_ca6b_0c68_87b1_045695805af9 -->|calls| 36fcfc37_216e_9f34_5a69_e976b9f178f6 4daec7f5_cb46_f8e0_ce45_d7c464826c5d["addProp()"] 7a357d2a_ca6b_0c68_87b1_045695805af9 -->|calls| 4daec7f5_cb46_f8e0_ce45_d7c464826c5d 5f7b1ed1_7106_20e8_83d2_d329e3f4a814["addHandler()"] 7a357d2a_ca6b_0c68_87b1_045695805af9 -->|calls| 5f7b1ed1_7106_20e8_83d2_d329e3f4a814 style 7a357d2a_ca6b_0c68_87b1_045695805af9 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
src/platforms/web/compiler/directives/model.ts lines 137–181
function genDefaultModel(
el: ASTElement,
value: string,
modifiers?: ASTModifiers | null
): boolean | void {
const type = el.attrsMap.type
// warn if v-bind:value conflicts with v-model
// except for inputs with v-bind:type
if (__DEV__) {
const value = el.attrsMap['v-bind:value'] || el.attrsMap[':value']
const typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type']
if (value && !typeBinding) {
const binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value'
warn(
`${binding}="${value}" conflicts with v-model on the same element ` +
'because the latter already expands to a value binding internally',
el.rawAttrsMap[binding]
)
}
}
const { lazy, number, trim } = modifiers || {}
const needCompositionGuard = !lazy && type !== 'range'
const event = lazy ? 'change' : type === 'range' ? RANGE_TOKEN : 'input'
let valueExpression = '$event.target.value'
if (trim) {
valueExpression = `$event.target.value.trim()`
}
if (number) {
valueExpression = `_n(${valueExpression})`
}
let code = genAssignmentCode(value, valueExpression)
if (needCompositionGuard) {
code = `if($event.target.composing)return;${code}`
}
addProp(el, 'value', `(${value})`)
addHandler(el, event, code, null, true)
if (trim || number) {
addHandler(el, 'blur', '$forceUpdate()')
}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does genDefaultModel() do?
genDefaultModel() is a function in the vue codebase.
What does genDefaultModel() call?
genDefaultModel() calls 3 function(s): addHandler, addProp, genAssignmentCode.
What calls genDefaultModel()?
genDefaultModel() is called by 1 function(s): model.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free