Home / Function/ bindObjectProps() — vue Function Reference

bindObjectProps() — vue Function Reference

Architecture documentation for the bindObjectProps() function in bind-object-props.ts from the vue codebase.

Entity Profile

Dependency Diagram

graph TD
  99c28160_f82b_ab59_61aa_09e132a37801["bindObjectProps()"]
  e665a9cd_89b3_bcf8_a6c0_b4d2815a5faa["bind-object-props.ts"]
  99c28160_f82b_ab59_61aa_09e132a37801 -->|defined in| e665a9cd_89b3_bcf8_a6c0_b4d2815a5faa
  style 99c28160_f82b_ab59_61aa_09e132a37801 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

src/core/instance/render-helpers/bind-object-props.ts lines 17–59

export function bindObjectProps(
  data: any,
  tag: string,
  value: any,
  asProp: boolean,
  isSync?: boolean
): VNodeData {
  if (value) {
    if (!isObject(value)) {
      __DEV__ &&
        warn('v-bind without argument expects an Object or Array value', this)
    } else {
      if (isArray(value)) {
        value = toObject(value)
      }
      let hash
      for (const key in value) {
        if (key === 'class' || key === 'style' || isReservedAttribute(key)) {
          hash = data
        } else {
          const type = data.attrs && data.attrs.type
          hash =
            asProp || config.mustUseProp(tag, type, key)
              ? data.domProps || (data.domProps = {})
              : data.attrs || (data.attrs = {})
        }
        const camelizedKey = camelize(key)
        const hyphenatedKey = hyphenate(key)
        if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {
          hash[key] = value[key]

          if (isSync) {
            const on = data.on || (data.on = {})
            on[`update:${key}`] = function ($event) {
              value[key] = $event
            }
          }
        }
      }
    }
  }
  return data
}

Domain

Subdomains

Frequently Asked Questions

What does bindObjectProps() do?
bindObjectProps() is a function in the vue codebase, defined in src/core/instance/render-helpers/bind-object-props.ts.
Where is bindObjectProps() defined?
bindObjectProps() is defined in src/core/instance/render-helpers/bind-object-props.ts at line 17.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free