lifecycle.ts — vue Source File
Architecture documentation for lifecycle.ts, a typescript file in the vue codebase. 21 imports, 7 dependents.
Entity Profile
Dependency Diagram
graph LR f3560440_54c1_5663_36f8_c7de54d7310b["lifecycle.ts"] d22f3dff_cc24_705a_1193_eec206dcb1d5["config.ts"] f3560440_54c1_5663_36f8_c7de54d7310b --> d22f3dff_cc24_705a_1193_eec206dcb1d5 acd39cb4_1b40_1f96_d7d8_00ba7dc7b283["watcher.ts"] f3560440_54c1_5663_36f8_c7de54d7310b --> acd39cb4_1b40_1f96_d7d8_00ba7dc7b283 d5415a1d_c2b2_5cd9_ec65_daba30665c8f["perf.ts"] f3560440_54c1_5663_36f8_c7de54d7310b --> d5415a1d_c2b2_5cd9_ec65_daba30665c8f c66f2b7c_7247_ba1e_a44e_c9fbf576a0f8["mark"] f3560440_54c1_5663_36f8_c7de54d7310b --> c66f2b7c_7247_ba1e_a44e_c9fbf576a0f8 3dba2c58_eaa7_9043_7b9a_5564624e9333["measure"] f3560440_54c1_5663_36f8_c7de54d7310b --> 3dba2c58_eaa7_9043_7b9a_5564624e9333 a13b4a2c_7af7_bcfd_03a9_13286f908ca0["vnode.ts"] f3560440_54c1_5663_36f8_c7de54d7310b --> a13b4a2c_7af7_bcfd_03a9_13286f908ca0 7b0cc275_96e5_15f9_3ca6_626be691c291["events.ts"] f3560440_54c1_5663_36f8_c7de54d7310b --> 7b0cc275_96e5_15f9_3ca6_626be691c291 7c8c6406_e098_edbf_9f4d_d068527deff1["updateComponentListeners"] f3560440_54c1_5663_36f8_c7de54d7310b --> 7c8c6406_e098_edbf_9f4d_d068527deff1 f7e6d498_cf3b_d729_68d1_b772bf90e35f["resolve-slots.ts"] f3560440_54c1_5663_36f8_c7de54d7310b --> f7e6d498_cf3b_d729_68d1_b772bf90e35f 23d9ce46_8163_f008_2464_0fc0040f465c["resolveSlots"] f3560440_54c1_5663_36f8_c7de54d7310b --> 23d9ce46_8163_f008_2464_0fc0040f465c 012c0986_6b9d_ad59_8fba_57884312dd3b["index.ts"] f3560440_54c1_5663_36f8_c7de54d7310b --> 012c0986_6b9d_ad59_8fba_57884312dd3b 2bcc88b5_db8a_b047_2abd_7382948898ab["toggleObserving"] f3560440_54c1_5663_36f8_c7de54d7310b --> 2bcc88b5_db8a_b047_2abd_7382948898ab dfb2b3e1_ffba_6029_124e_b43a30f0f999["dep.ts"] f3560440_54c1_5663_36f8_c7de54d7310b --> dfb2b3e1_ffba_6029_124e_b43a30f0f999 46145e02_0be2_a179_3c66_d786e8df82f3["pushTarget"] f3560440_54c1_5663_36f8_c7de54d7310b --> 46145e02_0be2_a179_3c66_d786e8df82f3 style f3560440_54c1_5663_36f8_c7de54d7310b fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import config from '../config'
import Watcher, { WatcherOptions } from '../observer/watcher'
import { mark, measure } from '../util/perf'
import VNode, { createEmptyVNode } from '../vdom/vnode'
import { updateComponentListeners } from './events'
import { resolveSlots } from './render-helpers/resolve-slots'
import { toggleObserving } from '../observer/index'
import { pushTarget, popTarget } from '../observer/dep'
import type { Component } from 'types/component'
import type { MountedComponentVNode } from 'types/vnode'
import {
warn,
noop,
remove,
emptyObject,
validateProp,
invokeWithErrorHandling
} from '../util/index'
import { currentInstance, setCurrentInstance } from 'v3/currentInstance'
import { getCurrentScope } from 'v3/reactivity/effectScope'
import { syncSetupProxy } from 'v3/apiSetup'
export let activeInstance: any = null
export let isUpdatingChildComponent: boolean = false
export function setActiveInstance(vm: Component) {
const prevActiveInstance = activeInstance
activeInstance = vm
return () => {
activeInstance = prevActiveInstance
}
}
export function initLifecycle(vm: Component) {
const options = vm.$options
// locate first non-abstract parent
let parent = options.parent
if (parent && !options.abstract) {
while (parent.$options.abstract && parent.$parent) {
parent = parent.$parent
}
parent.$children.push(vm)
}
vm.$parent = parent
vm.$root = parent ? parent.$root : vm
vm.$children = []
vm.$refs = {}
vm._provided = parent ? parent._provided : Object.create(null)
vm._watcher = null
vm._inactive = null
vm._directInactive = false
vm._isMounted = false
vm._isDestroyed = false
vm._isBeingDestroyed = false
}
// ... (362 more lines)
Domain
Subdomains
Functions
Dependencies
- apiSetup
- component
- config.ts
- currentInstance
- dep.ts
- effectScope
- events.ts
- index.ts
- index.ts
- mark
- measure
- perf.ts
- popTarget
- pushTarget
- resolve-slots.ts
- resolveSlots
- toggleObserving
- updateComponentListeners
- vnode
- vnode.ts
- watcher.ts
Imported By
Source
Frequently Asked Questions
What does lifecycle.ts do?
lifecycle.ts is a source file in the vue codebase, written in typescript. It belongs to the CoreRuntime domain, Instance subdomain.
What functions are defined in lifecycle.ts?
lifecycle.ts defines 9 function(s): activateChildComponent, callHook, deactivateChildComponent, initLifecycle, isInInactiveTree, lifecycleMixin, mountComponent, setActiveInstance, updateChildComponent.
What does lifecycle.ts depend on?
lifecycle.ts imports 21 module(s): apiSetup, component, config.ts, currentInstance, dep.ts, effectScope, events.ts, index.ts, and 13 more.
What files import lifecycle.ts?
lifecycle.ts is imported by 7 file(s): create-component.ts, index.ts, init.ts, patch.ts, render.ts, scheduler.ts, state.ts.
Where is lifecycle.ts in the architecture?
lifecycle.ts is located at src/core/instance/lifecycle.ts (domain: CoreRuntime, subdomain: Instance, directory: src/core/instance).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free