注冊(cè)網(wǎng)站到公安機(jī)關(guān)備案由誰(shuí)告知seo關(guān)鍵詞排名優(yōu)化要多少錢(qián)
一、prototype
每一個(gè)構(gòu)造函數(shù)身上又有一個(gè)prototype指向其原型對(duì)象。
如果我們?cè)诳刂婆_(tái)輸入如下代碼,就能看到Vue構(gòu)造函數(shù)的信息,在他身上可以找到prototype屬性,指向的是Vue原型對(duì)象:
二、__proto__
通過(guò)構(gòu)造函數(shù)創(chuàng)建的實(shí)例對(duì)象身上有一個(gè)__proto__屬性,指向構(gòu)造函數(shù)的原型對(duì)象。
vm就是我們通過(guò)new Vue() 構(gòu)造出來(lái)的實(shí)例對(duì)象,他身上的__proto__指向的就是上面的原型對(duì)象:
可以使用下圖說(shuō)明Vue構(gòu)造函數(shù)的prototype和vm實(shí)例對(duì)象上__proto__的關(guān)系:
三、VueComponent和VC的原型
當(dāng)我們使用Vue.extend() 去創(chuàng)建一個(gè)組件的時(shí)候,Vue會(huì)自動(dòng)幫我們?nèi)フ{(diào)用VueComponent構(gòu)造函數(shù),我們使用VueComponent構(gòu)造函數(shù)就可以構(gòu)造出實(shí)例對(duì)象VC(組件)。
因此我們可以得到如下關(guān)系圖:
接下來(lái)就要探討一個(gè)問(wèn)題:這個(gè)VueComponent的原型對(duì)象本應(yīng)該指向Object原型。
但是,Vue將這條線指向了Vue原型對(duì)象(藍(lán)色的線):
?
所以可以得出以下結(jié)論:
?VueComponent.prototype.__proto__ === Vue.prototype
目的就是為了讓組件實(shí)例對(duì)象VC訪問(wèn)到Vue對(duì)象原型身上的屬性和方法。?