Vue 初始化
在 Vue 的初始化中,会先对 props 和 data 进行初始化
Vue.prototype._init = function(options?: Object) {
// ...
// 初始化 props 和 data
initState(vm)
initProvide(vm)
callHook(vm, 'created')
if (vm.$options.el) {
// 挂载组件
vm.$mount(vm.$options.el)
}
}
复制代码接下来看下如何初始化 props 和 data
export function initState (vm: Component) {
// 初始化 props
if (opts.props) initProps(vm, opts.props)
if (opts.data) {
// 初始化 data
initData(vm)
}
}
function initProps (vm: Component, propsOptions: Object) {
const propsData = vm.$options.propsData || {}
const props = vm._props = {}% |
|