Home / File/ component.ts — vue Source File

component.ts — vue Source File

Architecture documentation for component.ts, a typescript file in the vue codebase. 13 imports, 4 dependents.

File typescript VueCore Instance 13 imports 4 dependents 2 classes

Entity Profile

Dependency Diagram

graph LR
  ba29f985_44b7_4ac5_07cd_a4e17537349a["component.ts"]
  99480f1a_03a1_34c3_490d_e25f87285c5f["options.ts"]
  ba29f985_44b7_4ac5_07cd_a4e17537349a --> 99480f1a_03a1_34c3_490d_e25f87285c5f
  048b0af2_44f6_8931_d824_f1e2c1b4023c["ComponentOptions"]
  ba29f985_44b7_4ac5_07cd_a4e17537349a --> 048b0af2_44f6_8931_d824_f1e2c1b4023c
  648722e5_d55d_648d_6861_55bad881e189["vnode.ts"]
  ba29f985_44b7_4ac5_07cd_a4e17537349a --> 648722e5_d55d_648d_6861_55bad881e189
  b47a5c4e_2b2c_d409_324b_91806abbd990["ScopedSlotsData"]
  ba29f985_44b7_4ac5_07cd_a4e17537349a --> b47a5c4e_2b2c_d409_324b_91806abbd990
  e857c2d5_38b0_93f9_3947_b088859eaa4f["VNodeChildren"]
  ba29f985_44b7_4ac5_07cd_a4e17537349a --> e857c2d5_38b0_93f9_3947_b088859eaa4f
  9d2c914f_5cc8_f0ca_7040_9499f63aa4dc["VNodeData"]
  ba29f985_44b7_4ac5_07cd_a4e17537349a --> 9d2c914f_5cc8_f0ca_7040_9499f63aa4dc
  76e5daad_5fc4_712f_a3f7_76cedaa2d1a6["global-api.ts"]
  ba29f985_44b7_4ac5_07cd_a4e17537349a --> 76e5daad_5fc4_712f_a3f7_76cedaa2d1a6
  a4f83551_e123_9665_df86_ad67272bfdff["GlobalAPI"]
  ba29f985_44b7_4ac5_07cd_a4e17537349a --> a4f83551_e123_9665_df86_ad67272bfdff
  2b690b4c_036e_ed65_de0a_55baaf73ca86["GlobalAPI"]
  ba29f985_44b7_4ac5_07cd_a4e17537349a --> 2b690b4c_036e_ed65_de0a_55baaf73ca86
  973389ac_8625_30a3_53ce_b1b48fae58c5["vnode"]
  ba29f985_44b7_4ac5_07cd_a4e17537349a --> 973389ac_8625_30a3_53ce_b1b48fae58c5
  b0726a9b_3416_ba5e_8288_ca534387d48d["watcher"]
  ba29f985_44b7_4ac5_07cd_a4e17537349a --> b0726a9b_3416_ba5e_8288_ca534387d48d
  43c3281b_9e19_70a9_3981_1b8502959f5d["apiSetup"]
  ba29f985_44b7_4ac5_07cd_a4e17537349a --> 43c3281b_9e19_70a9_3981_1b8502959f5d
  f5422b53_9179_f817_eaa1_8a0b044ba11a["effectScope"]
  ba29f985_44b7_4ac5_07cd_a4e17537349a --> f5422b53_9179_f817_eaa1_8a0b044ba11a
  76e5daad_5fc4_712f_a3f7_76cedaa2d1a6["global-api.ts"]
  76e5daad_5fc4_712f_a3f7_76cedaa2d1a6 --> ba29f985_44b7_4ac5_07cd_a4e17537349a
  99480f1a_03a1_34c3_490d_e25f87285c5f["options.ts"]
  99480f1a_03a1_34c3_490d_e25f87285c5f --> ba29f985_44b7_4ac5_07cd_a4e17537349a
  8756d024_4a5e_76cc_c755_b5b7139e8e10["ssr.ts"]
  8756d024_4a5e_76cc_c755_b5b7139e8e10 --> ba29f985_44b7_4ac5_07cd_a4e17537349a
  style ba29f985_44b7_4ac5_07cd_a4e17537349a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type VNode from 'core/vdom/vnode'
import type Watcher from 'core/observer/watcher'
import { ComponentOptions } from './options'
import { SetupContext } from 'v3/apiSetup'
import { ScopedSlotsData, VNodeChildren, VNodeData } from './vnode'
import { GlobalAPI } from './global-api'
import { EffectScope } from 'v3/reactivity/effectScope'

// TODO this should be using the same as /component/

/**
 * @internal
 */
export declare class Component {
  constructor(options?: any)
  // constructor information
  static cid: number
  static options: Record<string, any>
  // extend
  static extend: GlobalAPI['extend']
  static superOptions: Record<string, any>
  static extendOptions: Record<string, any>
  static sealedOptions: Record<string, any>
  static super: typeof Component
  // assets
  static directive: GlobalAPI['directive']
  static component: GlobalAPI['component']
  static filter: GlobalAPI['filter']
  // functional context constructor
  static FunctionalRenderContext: Function
  static mixin: GlobalAPI['mixin']
  static use: GlobalAPI['use']

  // public properties
  $el: any // so that we can attach __vue__ to it
  $data: Record<string, any>
  $props: Record<string, any>
  $options: ComponentOptions
  $parent: Component | undefined
  $root: Component
  $children: Array<Component>
  $refs: {
    [key: string]: Component | Element | Array<Component | Element> | undefined
  }
  $slots: { [key: string]: Array<VNode> }
  $scopedSlots: { [key: string]: () => VNode[] | undefined }
  $vnode: VNode // the placeholder node for the component in parent's render tree
  $attrs: { [key: string]: string }
  $listeners: Record<string, Function | Array<Function>>
  $isServer: boolean

  // public methods
  $mount: (
    el?: Element | string,
    hydrating?: boolean
  ) => Component & { [key: string]: any }
  $forceUpdate: () => void
  $destroy: () => void
  $set: <T>(
    target: Record<string, any> | Array<T>,
// ... (153 more lines)

Domain

Subdomains

Frequently Asked Questions

What does component.ts do?
component.ts is a source file in the vue codebase, written in typescript. It belongs to the VueCore domain, Instance subdomain.
What does component.ts depend on?
component.ts imports 13 module(s): ComponentOptions, GlobalAPI, GlobalAPI, ScopedSlotsData, VNodeChildren, VNodeData, apiSetup, effectScope, and 5 more.
What files import component.ts?
component.ts is imported by 4 file(s): global-api.ts, options.ts, ssr.ts, vnode.ts.
Where is component.ts in the architecture?
component.ts is located at src/types/component.ts (domain: VueCore, subdomain: Instance, directory: src/types).

Analyze Your Own Codebase

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

Try Supermodel Free