前言:
實例化Vue的核心是作_init方法的初始化
初始化的關鍵一步是選項的合併
合併的本質就是用戶自定義選項和Vue自帶默認選項的合併
因此,今天咱們要學習的就是關於選項合併的一些知識前端
一、Vue當中每種選項合併都有定義好的合併策略
合併策略原則:
(1)若是父類組件和子類組件有相同的選項,直接合並
(2)若是父子組件沒有相同選項,子類組件有取子組件,沒有子組件取父組件web
二、選項合併的種類
包括大體5大類,分別是:
常規選項合併,如data、el合併
默認資源選項合併,如components、directives、filter
生命週期鉤子函數合併,如mounted, created, destoryed
數據偵聽選項合併,即watch
方法及屬性選項合併,如props、methods、inject、computed數組
三、el的合併策略
el的做用:找一個DOM元素,讓Vue實例掛載到上面
合併策略:只在建立Vue實例才存在,在子類或者子組件中沒法定義el選項函數
四、data的合併策略
(1)父子類關係
先對data選項規進行範校驗,保證它是一個函數
合併策略:
子類不存在data選項,則合併結果爲父類data選項
父類不存在data選項,則合併結果爲子類data選項
同時存在進行合併,若是衝突,保留子類data選項
(2)存在Vue根實例
Vue實例的data選項是一個對象
合併策略:
實例中不傳遞data時,默認返回Vue構造函數上的data屬性選項
實例中傳遞data時,將實例的data對象和Vue構造函數上的data屬性選項合併學習
五、components、directives、filter合併策略
(1)建立一個空對象且讓這個空對象的原型指向父類選項
(2)將子類選項賦值給這個空對象
其實,說白了就是讓子類選項繼承父類選項fetch
六、生命週期鉤子函數合併策略
生命週期函數有12個,分別是:
'beforeCreate',
'created',
'beforeMount',
'mounted',
'beforeUpdate',
'updated',
'beforeDestroy',
'destroyed',
'activated',
'deactivated',
'errorCaptured',
'serverPrefetch'
合併策略:
(1)父子類的選項必須都是函數
(2)子類和父類有相同鉤子選項,合併爲數組,子類選項在數組末尾,晚於父類選項執行
(3)子類不存,返回父類選項
(4)子類存在,父類不存在,返回子類鉤子選項,形式爲數組component
七、watch選項合併
watch做用:在數據變化時,使用自定義的偵聽器來響應數據的變化
合併策略:
(1)沒有父則直接用子選項
(2)沒有子,則默認用父選項
(3)都有時合併成數組,數組的元素能夠是回調函數,選項對象,或者函數名server
八、props、methods、inject、computed合併策略
(1)父類不存在,返回子類選項
(2)子類父類都存在,子類選項去覆蓋父類選項對象
後記:繼承
贈人玫瑰,手有餘香!若是以爲文章對您有幫助,
請給一個大大的贊,還能夠分享讓更的人知道哦!
您也是web前端學習者,能夠加VX:qingyulan52
最後祝您學習進步,早日成爲技術大拿!!!