Home / Function/ genCheckboxModel() — vue Function Reference

genCheckboxModel() — vue Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  7539ecb1_c1db_6b0e_5a90_bbe9d998a079["genCheckboxModel()"]
  f36954a8_e8f3_1232_73cb_dd1434e32bc1["model()"]
  f36954a8_e8f3_1232_73cb_dd1434e32bc1 -->|calls| 7539ecb1_c1db_6b0e_5a90_bbe9d998a079
  0d1a9a6d_9f27_26ff_a82e_63f0ab50e4ee["getBindingAttr()"]
  7539ecb1_c1db_6b0e_5a90_bbe9d998a079 -->|calls| 0d1a9a6d_9f27_26ff_a82e_63f0ab50e4ee
  4daec7f5_cb46_f8e0_ce45_d7c464826c5d["addProp()"]
  7539ecb1_c1db_6b0e_5a90_bbe9d998a079 -->|calls| 4daec7f5_cb46_f8e0_ce45_d7c464826c5d
  5f7b1ed1_7106_20e8_83d2_d329e3f4a814["addHandler()"]
  7539ecb1_c1db_6b0e_5a90_bbe9d998a079 -->|calls| 5f7b1ed1_7106_20e8_83d2_d329e3f4a814
  36fcfc37_216e_9f34_5a69_e976b9f178f6["genAssignmentCode()"]
  7539ecb1_c1db_6b0e_5a90_bbe9d998a079 -->|calls| 36fcfc37_216e_9f34_5a69_e976b9f178f6
  style 7539ecb1_c1db_6b0e_5a90_bbe9d998a079 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

src/platforms/web/compiler/directives/model.ts lines 66–105

function genCheckboxModel(
  el: ASTElement,
  value: string,
  modifiers?: ASTModifiers | null
) {
  const number = modifiers && modifiers.number
  const valueBinding = getBindingAttr(el, 'value') || 'null'
  const trueValueBinding = getBindingAttr(el, 'true-value') || 'true'
  const falseValueBinding = getBindingAttr(el, 'false-value') || 'false'
  addProp(
    el,
    'checked',
    `Array.isArray(${value})` +
      `?_i(${value},${valueBinding})>-1` +
      (trueValueBinding === 'true'
        ? `:(${value})`
        : `:_q(${value},${trueValueBinding})`)
  )
  addHandler(
    el,
    'change',
    `var $$a=${value},` +
      '$$el=$event.target,' +
      `$$c=$$el.checked?(${trueValueBinding}):(${falseValueBinding});` +
      'if(Array.isArray($$a)){' +
      `var $$v=${number ? '_n(' + valueBinding + ')' : valueBinding},` +
      '$$i=_i($$a,$$v);' +
      `if($$el.checked){$$i<0&&(${genAssignmentCode(
        value,
        '$$a.concat([$$v])'
      )})}` +
      `else{$$i>-1&&(${genAssignmentCode(
        value,
        '$$a.slice(0,$$i).concat($$a.slice($$i+1))'
      )})}` +
      `}else{${genAssignmentCode(value, '$$c')}}`,
    null,
    true
  )
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does genCheckboxModel() do?
genCheckboxModel() is a function in the vue codebase.
What does genCheckboxModel() call?
genCheckboxModel() calls 4 function(s): addHandler, addProp, genAssignmentCode, getBindingAttr.
What calls genCheckboxModel()?
genCheckboxModel() 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