genDefaultModel() — vue Function Reference
Architecture documentation for the genDefaultModel() function in model.ts from the vue codebase.
Entity Profile
Dependency Diagram
graph TD 39292c26_0eea_5e4d_9de0_7137f2d3a979["genDefaultModel()"] 14d3bb86_7a8d_fa98_8bf9_6d426675527b["model()"] 14d3bb86_7a8d_fa98_8bf9_6d426675527b -->|calls| 39292c26_0eea_5e4d_9de0_7137f2d3a979 4f4016d4_c2a9_540e_d1fd_9dabe55a1d29["genAssignmentCode()"] 39292c26_0eea_5e4d_9de0_7137f2d3a979 -->|calls| 4f4016d4_c2a9_540e_d1fd_9dabe55a1d29 4760a472_5347_3554_a7fe_3e7d21471a37["addProp()"] 39292c26_0eea_5e4d_9de0_7137f2d3a979 -->|calls| 4760a472_5347_3554_a7fe_3e7d21471a37 754feb41_b555_757e_313c_0f0096cdc970["addHandler()"] 39292c26_0eea_5e4d_9de0_7137f2d3a979 -->|calls| 754feb41_b555_757e_313c_0f0096cdc970 style 39292c26_0eea_5e4d_9de0_7137f2d3a979 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