initMixin() — vue Function Reference
Architecture documentation for the initMixin() function in init.ts from the vue codebase.
Entity Profile
Dependency Diagram
graph TD ad112c37_faea_8798_03f1_18e1a6303f0d["initMixin()"] 1350e21f_1b74_6608_e1b6_e32c635ba3e3["mark()"] ad112c37_faea_8798_03f1_18e1a6303f0d -->|calls| 1350e21f_1b74_6608_e1b6_e32c635ba3e3 368282ef_87ff_0572_f76d_20ad6115a558["initInternalComponent()"] ad112c37_faea_8798_03f1_18e1a6303f0d -->|calls| 368282ef_87ff_0572_f76d_20ad6115a558 5a00b29c_e806_9a99_22cb_4a0080592a1a["resolveConstructorOptions()"] ad112c37_faea_8798_03f1_18e1a6303f0d -->|calls| 5a00b29c_e806_9a99_22cb_4a0080592a1a 09a6d625_5b42_6376_b5b8_a0f17dae3d99["initProxy()"] ad112c37_faea_8798_03f1_18e1a6303f0d -->|calls| 09a6d625_5b42_6376_b5b8_a0f17dae3d99 4266126f_76b0_6d48_cc49_48dd682e88d3["initLifecycle()"] ad112c37_faea_8798_03f1_18e1a6303f0d -->|calls| 4266126f_76b0_6d48_cc49_48dd682e88d3 8b2d23d5_bb44_a0c2_ba6c_9d6dbd4ea994["initEvents()"] ad112c37_faea_8798_03f1_18e1a6303f0d -->|calls| 8b2d23d5_bb44_a0c2_ba6c_9d6dbd4ea994 fa879678_0767_c9f5_f3e2_55c3620ec148["initRender()"] ad112c37_faea_8798_03f1_18e1a6303f0d -->|calls| fa879678_0767_c9f5_f3e2_55c3620ec148 a7fb5d54_f5e0_5d73_5f6a_96e6c47acbeb["callHook()"] ad112c37_faea_8798_03f1_18e1a6303f0d -->|calls| a7fb5d54_f5e0_5d73_5f6a_96e6c47acbeb 174af5d8_4bd9_7899_1b31_f3a3cb9b77c6["initInjections()"] ad112c37_faea_8798_03f1_18e1a6303f0d -->|calls| 174af5d8_4bd9_7899_1b31_f3a3cb9b77c6 a45b86d7_95dc_3c82_51a7_1bc8c4d23289["initState()"] ad112c37_faea_8798_03f1_18e1a6303f0d -->|calls| a45b86d7_95dc_3c82_51a7_1bc8c4d23289 d99ef017_6ba9_7b75_1d27_c1117574384e["initProvide()"] ad112c37_faea_8798_03f1_18e1a6303f0d -->|calls| d99ef017_6ba9_7b75_1d27_c1117574384e baee4b33_abd2_45c7_4cbc_98ddfcca1ce4["measure()"] ad112c37_faea_8798_03f1_18e1a6303f0d -->|calls| baee4b33_abd2_45c7_4cbc_98ddfcca1ce4 style ad112c37_faea_8798_03f1_18e1a6303f0d fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
src/core/instance/init.ts lines 16–82
export function initMixin(Vue: typeof Component) {
Vue.prototype._init = function (options?: Record<string, any>) {
const vm: Component = this
// a uid
vm._uid = uid++
let startTag, endTag
/* istanbul ignore if */
if (__DEV__ && config.performance && mark) {
startTag = `vue-perf-start:${vm._uid}`
endTag = `vue-perf-end:${vm._uid}`
mark(startTag)
}
// a flag to mark this as a Vue instance without having to do instanceof
// check
vm._isVue = true
// avoid instances from being observed
vm.__v_skip = true
// effect scope
vm._scope = new EffectScope(true /* detached */)
// #13134 edge case where a child component is manually created during the
// render of a parent component
vm._scope.parent = undefined
vm._scope._vm = true
// merge options
if (options && options._isComponent) {
// optimize internal component instantiation
// since dynamic options merging is pretty slow, and none of the
// internal component options needs special treatment.
initInternalComponent(vm, options as any)
} else {
vm.$options = mergeOptions(
resolveConstructorOptions(vm.constructor as any),
options || {},
vm
)
}
/* istanbul ignore else */
if (__DEV__) {
initProxy(vm)
} else {
vm._renderProxy = vm
}
// expose real self
vm._self = vm
initLifecycle(vm)
initEvents(vm)
initRender(vm)
callHook(vm, 'beforeCreate', undefined, false /* setContext */)
initInjections(vm) // resolve injections before data/props
initState(vm)
initProvide(vm) // resolve provide after data/props
callHook(vm, 'created')
/* istanbul ignore if */
if (__DEV__ && config.performance && mark) {
vm._name = formatComponentName(vm, false)
mark(endTag)
measure(`vue ${vm._name} init`, startTag, endTag)
}
if (vm.$options.el) {
vm.$mount(vm.$options.el)
}
}
}
Domain
Subdomains
Calls
Source
Frequently Asked Questions
What does initMixin() do?
initMixin() is a function in the vue codebase.
What does initMixin() call?
initMixin() calls 12 function(s): callHook, initEvents, initInjections, initInternalComponent, initLifecycle, initProvide, initProxy, initRender, and 4 more.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free