Vue3實(shí)現(xiàn)掛載全局方法和用getCurrentInstance代替this
Vue3掛載全局方法和用getCurrentInstance代替this
平時(shí)我們?cè)陂_(kāi)發(fā)vue項(xiàng)目的時(shí)候,要把一些函數(shù)、方法、組件或插件掛在全局上方便項(xiàng)目上每一個(gè)頁(yè)面或模塊調(diào)用,在vue2.x的時(shí)候,在main.js只要用Vue.prototype就能完成,之后在頁(yè)面上用this來(lái)調(diào)用,如:
main.js:

調(diào)用

在vue3.0的時(shí)候掛在全局方法就不一樣,通過(guò) app.config.globalProperties來(lái)掛載,如掛載axios:
方法一

但是切記掛載任何東西之前不能createApp(App)后面不能連綴use()或mount('#app'),如:

或者

方法二
把封裝的函數(shù)和api掛載在全局變量install方法里,之后導(dǎo)出

在main.js 引入,

但是在vue3.0的時(shí)候如果用組合api,由于 setup 在生命周期 beforecreate 和 created 前執(zhí)行,此時(shí) vue 對(duì)象還未創(chuàng)建,因無(wú)法使用我們?cè)?vue2.x 常用的 this。
那就用 getCurrentInstance代替this,首先引入,之后聲明如下:

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue函數(shù)input輸入值請(qǐng)求時(shí)延遲1.5秒請(qǐng)求問(wèn)題
這篇文章主要介紹了vue函數(shù)input輸入值請(qǐng)求時(shí)延遲1.5秒請(qǐng)求問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
詳解vue 中使用 AJAX獲取數(shù)據(jù)的方法
本篇文章主要介紹了詳解vue 中使用 AJAX獲取數(shù)據(jù)的方法,在VUE開(kāi)發(fā)時(shí),數(shù)據(jù)可以使用jquery和vue-resource來(lái)獲取數(shù)據(jù),有興趣的可以了解一下。2017-01-01
VUE設(shè)置和清除定時(shí)器的方式及遇到的問(wèn)題
?最近需要再頁(yè)面里做個(gè)倒計(jì)時(shí),發(fā)現(xiàn)用clearInterval()清除定時(shí)器失效,下面這篇文章主要給大家介紹了關(guān)于VUE設(shè)置和清除定時(shí)器的方式及遇到的問(wèn)題的相關(guān)資料,需要的朋友可以參考下2022-10-10
Vue?element-ui中表格過(guò)長(zhǎng)內(nèi)容隱藏顯示的實(shí)現(xiàn)方式
在Vue項(xiàng)目中,使用ElementUI渲染表格數(shù)據(jù)時(shí),如果某一個(gè)列數(shù)值長(zhǎng)度超過(guò)列寬,會(huì)默認(rèn)換行,造成顯示不友好,下面這篇文章主要給大家介紹了關(guān)于Vue?element-ui中表格過(guò)長(zhǎng)內(nèi)容隱藏顯示的實(shí)現(xiàn)方式,需要的朋友可以參考下2022-09-09
Vant 中的Toast設(shè)置全局的延遲時(shí)間操作
這篇文章主要介紹了Vant 中的Toast設(shè)置全局的延遲時(shí)間操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11
一文詳解Vue3的watch是如何實(shí)現(xiàn)監(jiān)聽(tīng)的
watch這個(gè)API大家都很熟悉,今天這篇文章小編來(lái)帶你搞清楚Vue3的watch是如何實(shí)現(xiàn)對(duì)響應(yīng)式數(shù)據(jù)進(jìn)行監(jiān)聽(tīng)的,希望對(duì)大家有一定的幫助2024-11-11
如何用命令窗口的方式創(chuàng)建Vue項(xiàng)目
這篇文章主要介紹了如何用命令窗口的方式創(chuàng)建Vue項(xiàng)目過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08

