parseModel() — vue Function Reference
Architecture documentation for the parseModel() function in model.ts from the vue codebase.
Entity Profile
Dependency Diagram
graph TD e78b407b_2750_6e22_28fc_81e51f73bd1d["parseModel()"] 8d523c5a_6bbc_3e71_cb43_8252874a3ea9["model.ts"] e78b407b_2750_6e22_28fc_81e51f73bd1d -->|defined in| 8d523c5a_6bbc_3e71_cb43_8252874a3ea9 65a029a4_19bc_73e7_6dce_b5010c35150b["genAssignmentCode()"] 65a029a4_19bc_73e7_6dce_b5010c35150b -->|calls| e78b407b_2750_6e22_28fc_81e51f73bd1d 8eea3d45_d498_5630_d128_14a2648ebb4e["eof()"] e78b407b_2750_6e22_28fc_81e51f73bd1d -->|calls| 8eea3d45_d498_5630_d128_14a2648ebb4e 85917809_6399_9258_abd6_4ed3b3c1412f["next()"] e78b407b_2750_6e22_28fc_81e51f73bd1d -->|calls| 85917809_6399_9258_abd6_4ed3b3c1412f 5f7f0433_a09b_e253_5ebb_46ff3635eb4d["isStringStart()"] e78b407b_2750_6e22_28fc_81e51f73bd1d -->|calls| 5f7f0433_a09b_e253_5ebb_46ff3635eb4d 9fda5030_0446_d994_20d4_b25dd1a6fb2c["parseString()"] e78b407b_2750_6e22_28fc_81e51f73bd1d -->|calls| 9fda5030_0446_d994_20d4_b25dd1a6fb2c 79b2d9d0_237d_bc42_ff30_59548689087e["parseBracket()"] e78b407b_2750_6e22_28fc_81e51f73bd1d -->|calls| 79b2d9d0_237d_bc42_ff30_59548689087e style e78b407b_2750_6e22_28fc_81e51f73bd1d fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
src/compiler/directives/model.ts lines 67–105
export function parseModel(val: string): ModelParseResult {
// Fix https://github.com/vuejs/vue/pull/7730
// allow v-model="obj.val " (trailing whitespace)
val = val.trim()
len = val.length
if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) {
index = val.lastIndexOf('.')
if (index > -1) {
return {
exp: val.slice(0, index),
key: '"' + val.slice(index + 1) + '"'
}
} else {
return {
exp: val,
key: null
}
}
}
str = val
index = expressionPos = expressionEndPos = 0
while (!eof()) {
chr = next()
/* istanbul ignore if */
if (isStringStart(chr)) {
parseString(chr)
} else if (chr === 0x5b) {
parseBracket(chr)
}
}
return {
exp: val.slice(0, expressionPos),
key: val.slice(expressionPos + 1, expressionEndPos)
}
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does parseModel() do?
parseModel() is a function in the vue codebase, defined in src/compiler/directives/model.ts.
Where is parseModel() defined?
parseModel() is defined in src/compiler/directives/model.ts at line 67.
What does parseModel() call?
parseModel() calls 5 function(s): eof, isStringStart, next, parseBracket, parseString.
What calls parseModel()?
parseModel() is called by 1 function(s): genAssignmentCode.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free