03_new Vue都发生了什么
2022/4/12 6:14:53
本文主要是介绍03_new Vue都发生了什么,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
当我们new Vue的时候会进入Vue方法
src/core/instance/index.js
function Vue (options) { if (process.env.NODE_ENV !== 'production' && !(this instanceof Vue) ) { warn('Vue is a constructor and should be called with the `new` keyword') } //最主要就是这里 this._init(options) }
//把_init挂载到Vue原型中去的地方
initMixin(Vue) stateMixin(Vue) eventsMixin(Vue) lifecycleMixin(Vue) renderMixin(Vue)
那么这个_init是什么时候定义的,在执行initMixin方法的时候定义的
init为我们做了什么 //合并选项 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) } else { vm.$options = mergeOptions( resolveConstructorOptions(vm.constructor), options || {}, vm ) } // 初始化生命周期 initLifecycle(vm) // 初始化事件 initEvents(vm) // 初始化render函数 initRender(vm) // 执行beforeCreate钩子 callHook(vm, 'beforeCreate') // 初始化initInject initInjections(vm) // resolve injections before // *(重要)初始化状态method props data等 initState(vm) // 初始化provide initProvide(vm) // resolve provide after data/props // 调用created钩子 callHook(vm, 'created')
这篇关于03_new Vue都发生了什么的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-04React 19 来了!新的编译器简直太棒了!
- 2025-01-032025年Node.js与PHP大比拼:挑选最适合的后端技术进行现代web开发
- 2025-01-03?? 用 Gemini API、Next.js 和 TailwindCSS 快速搭建 AI 推文生成项目 ??
- 2024-12-31Vue CLI多环境配置学习入门
- 2024-12-31Vue CLI学习入门:一步一步搭建你的第一个Vue项目
- 2024-12-31Vue3公共组件学习入门:从零开始搭建实用组件库
- 2024-12-31Vue3公共组件学习入门教程
- 2024-12-31Vue3学习入门:新手必读教程
- 2024-12-31Vue3学习入门:初学者必备指南
- 2024-12-30Vue CLI多环境配置教程:轻松入门指南