All Vue components are also Vue instances, and so accept the same options object (except for a few root-specific options) and provide the same lifecycle hooks.
定義子類
/src/core/global-api/extend.js
通過 Vue.extend
構建了一個 Vue 的子類。
create-component
/src/core/vdom/create-component.js
render 階段會呼叫 create-component
,實際上就是呼叫 Vue.extend
來例項化一個 Vue 類。
然後
側面可以印證,作者確實也是把 Vue 看做一個元件來實現的
export function initMixin (Vue: Class<Component>) {}
整個元件系統在不斷例項化 Vue 類。
題外話
Vue 有一個強勁的核心
- Vuex 其實通過例項化一個 Vue 的例項來實現響應式
- event bus 可以通過例項化 Vue 來實現