Home / Function/ parseModel() — vue Function Reference

parseModel() — vue Function Reference

Architecture documentation for the parseModel() function in model.ts from the vue codebase.

Entity Profile

Dependency Diagram

graph TD
  14ce6670_3bc0_35db_e42d_49644525de32["parseModel()"]
  4f4016d4_c2a9_540e_d1fd_9dabe55a1d29["genAssignmentCode()"]
  4f4016d4_c2a9_540e_d1fd_9dabe55a1d29 -->|calls| 14ce6670_3bc0_35db_e42d_49644525de32
  5d80e421_7f90_5c59_8eab_856d9d525b52["eof()"]
  14ce6670_3bc0_35db_e42d_49644525de32 -->|calls| 5d80e421_7f90_5c59_8eab_856d9d525b52
  bd10ae41_363d_f34c_9d24_7a6de189560e["next()"]
  14ce6670_3bc0_35db_e42d_49644525de32 -->|calls| bd10ae41_363d_f34c_9d24_7a6de189560e
  2526218f_d84a_5fd1_5d62_823e88fe80d5["isStringStart()"]
  14ce6670_3bc0_35db_e42d_49644525de32 -->|calls| 2526218f_d84a_5fd1_5d62_823e88fe80d5
  2e3af65f_b5cd_e829_8dad_6578d27848b0["parseString()"]
  14ce6670_3bc0_35db_e42d_49644525de32 -->|calls| 2e3af65f_b5cd_e829_8dad_6578d27848b0
  8a75e6be_b447_c65f_4ba2_9b76eeb43a25["parseBracket()"]
  14ce6670_3bc0_35db_e42d_49644525de32 -->|calls| 8a75e6be_b447_c65f_4ba2_9b76eeb43a25
  style 14ce6670_3bc0_35db_e42d_49644525de32 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

Frequently Asked Questions

What does parseModel() do?
parseModel() is a function in the vue codebase.
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