初始化组件
1.流程图
2.组件初始化
vue.js
function Vue (options) {
this._init(options)//调用instance/init.js 进行初始化工作
}
instance/init.js
_init = function (options) {
options = options || {}
//省略一部分代码
//合并初始化参数
options = this.$options = mergeOptions(
this.constructor.options,
options,
this
)
this._data = {} //数据 module
this._initScope();//初始化作用域
this._initEvents();//初始化事件
this._callHook('created')//
//如果传入节点
if (options.el) {
this.$mount(options.el)
}
}
instance/scope.js
初始化作用域
_initScope = function () {
this._initProps()//
this._initMeta();
this._initMethods()
this._initData()//数据填充
this._initComputed()//
}
3.数据填充