Vue生命周期之beforeCreate ---- vue 生命周期详解
相信大家对vue的生命周期都很了解,但是对于每个生命周期都干了些什么呢?下面主要讲在vue的beforeCreate 这个生命周期的时候都做了什么,官方说明进行了事件和什么周期的初始化。
其实实际代码里主要做了一下四件事,在函数中 Vue.prototype._init 查看
1.处理该实例的初始化选项---vm.$options
2.初始化生命周期---initLifecycle
3.初始化事件---initEvents
4.初始化render函数---initRender
第一步分两种情况进行处理: 一、是否是组件进行实例化,二、实例化非组件Vue对象
亮代码,在 _init 函数中
Vue.prototype._init = function (options) {
//省略部分代码
// merge options
if (options && options._isComponent) { // 如果是组件安装组件的方式进行组件的vm.$options属性初始化
// 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 {
// 不是组件 将传入的参数 options 与 构造函数上的属性options (通过全局混入定义的)进行合并 ,合并
// 时根据是否有自定义合并策略进行合并Vue.config.optionMergeStrategies ,合并后赋值给当前实例的$options 属性
vm.$options = mergeOptions(
resolveConstructorOptions(vm.constructor), //返回构造函数的options属性
options || {},
vm
);
}

浙公网安备 33010602011771号