鍍金池/ 問答/HTML/ 為什么vue源碼中,有的通過Vue.prototype.fun添加方法,有的直接

為什么vue源碼中,有的通過Vue.prototype.fun添加方法,有的直接Vue.fun添加?

clipboard.png

clipboard.png
今日初讀vue源碼,有些困惑。

回答
編輯回答
筱饞貓

可以把 Vue 當(dāng)成一個類(即:ES6 中的 class Vue{} 或 ES5 中的 function Vue(){} )。

圖中,Vue.useVue 的類方法,即直接通過 Vue.use() 調(diào)用的方法,這個方法是用來拓展 Vue 的插件的,項(xiàng)目中如果要使用一些插件,比如 Element UI,就需要通過這個方法來引入。

而,通過 Vue.pototype.fun 定義的方法,是在一個 Vue 組件內(nèi)使用的方法,就是說,如果想用方法 fun,你需要在用 Vue 定義的組件內(nèi)調(diào)用才行,不能直接使用 Vue.fun 來調(diào)用。

2017年7月19日 07:48
編輯回答
檸檬藍(lán)

就是類方法和實(shí)例方法的區(qū)別

2018年8月22日 09:56
編輯回答
祈歡

謝藥

function  Obj(){

}
Obj.a=1
Obj.d=4
Obj.prototype.a=2
var c=new Obj()
console.log(c.a)//2
console.log(c.d)//undefined

子組件(類)通過prototype可以繼承父組件(類)的方法,而直接定義的方法在子組件是沒法使用的

2017年12月24日 16:41
編輯回答
溫衫

靜態(tài)方法和實(shí)例方法的區(qū)別。Vue.prototype.fun是添加實(shí)例方法,Vue.fun是添加靜態(tài)方法。

2017年12月10日 22:18