Vue 实例的设计
这里是对 Vue
实例的整理,利于我们直观的观察 Vue
// Vue.prototype._init
vm._uid = uid++ // 每个 Vue 实例都拥有一个唯一的 id
vm._isVue = true // 这个表示用于避免 Vue 实例对象被观测(observed)
vm.$options // 当前 Vue 实例的初始化选项,注意:这是经过 mergeOptions() 后的
vm._renderProxy = vm // 渲染函数作用域代理
vm._self = vm // 实例本身
// initLifecycle(vm) src/core/instance/lifecycle.js **************************************************
vm.$parent = parent
vm.$root = parent ? parent.$root : vm
vm.$children = []
vm.$refs = {}
vm._watcher = null
vm._inactive = null
vm._directInactive = false
vm._isMounted = false
vm._isDestroyed = false
vm._isBeingDestroyed = false
// initEvents(vm) src/core/instance/events.js **************************************************
vm._events = Object.create(null)
vm._hasHookEvent = false
// initRender(vm) src/core/instance/render.js **************************************************
vm._vnode = null // the root of the child tree
vm._staticTrees = null // v-once cached trees
vm.$vnode
vm.$slots
vm.$scopedSlots
vm._c
vm.$createElement
vm.$attrs
vm.$listeners
// initState(vm) src/core/instance/state.js **************************************************
vm._watchers = []
vm._data
// mountComponent() src/core/instance/lifecycle.js
vm.$el
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论