vue3沒(méi)有this的解決方案
vue3沒(méi)有this怎么辦
在vue3中,新的組合式API中沒(méi)有this,那我們?nèi)绻枰玫?code>this怎么辦?
解決方法
getCurrentInstance 方法獲取當(dāng)前組件的實(shí)例,然后通過(guò) ctx
或 proxy
屬性獲得當(dāng)前上下文,這樣我們就能在setup中使用router和vuex了
import { getCurrentInstance } from "vue"; export default { setup() { let { proxy } = getCurrentInstance(); proxy.$axios(...) proxy.$router(...) } }
但是
但是,不建議使用,如果要使用router和vuex,推薦這樣用:
import { computed } from 'vue' import { useStore } from 'vuex' import { useRoute, useRouter } from 'vue-router' export default { setup () { const store = useStore() const route = useRoute() const router = useRouter() return { // 在 computed 函數(shù)中訪問(wèn) state count: computed(() => store.state.count), // 在 computed 函數(shù)中訪問(wèn) getter double: computed(() => store.getters.double) // 使用 mutation increment: () => store.commit('increment'), // 使用 action asyncIncrement: () => store.dispatch('asyncIncrement') } } }
大家不要依賴 getCurrentInstance 方法去獲取組件實(shí)例來(lái)完成一些主要功能,否則在項(xiàng)目打包后,一定會(huì)報(bào)錯(cuò)的。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue項(xiàng)目?jī)?yōu)化之通過(guò)keep-alive數(shù)據(jù)緩存的方法
本篇文章主要介紹了vue項(xiàng)目?jī)?yōu)化之通過(guò)keep-alive數(shù)據(jù)緩存的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12Vue數(shù)據(jù)驅(qū)動(dòng)模擬實(shí)現(xiàn)3
這篇文章主要為大家詳細(xì)介紹了Vue數(shù)據(jù)驅(qū)動(dòng)模擬實(shí)現(xiàn),教大家如何在某個(gè)對(duì)象中,新增某個(gè)屬性,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01解決vue單頁(yè)面應(yīng)用中動(dòng)態(tài)修改title問(wèn)題
這篇文章主要介紹了解決vue單頁(yè)面應(yīng)用中動(dòng)態(tài)修改title問(wèn)題,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06Vue下拉框值變動(dòng)事件傳多個(gè)參數(shù)方式
這篇文章主要介紹了Vue下拉框值變動(dòng)事件傳多個(gè)參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04vue使用cesium創(chuàng)建數(shù)據(jù)白模方式
這篇文章主要介紹了vue使用cesium創(chuàng)建數(shù)據(jù)白模方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10Vue中使用debugger在瀏覽器中不起作用的問(wèn)題及解決
這篇文章主要介紹了Vue中使用debugger在瀏覽器中不起作用的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06vue集成kindeditor富文本的實(shí)現(xiàn)示例代碼
這篇文章主要介紹了vue集成kindeditor富文本的實(shí)現(xiàn)示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06詳解刷新頁(yè)面vuex數(shù)據(jù)不消失和不跳轉(zhuǎn)頁(yè)面的解決
這篇文章主要介紹了詳解刷新頁(yè)面vuex數(shù)據(jù)不消失和不跳轉(zhuǎn)頁(yè)面的解決,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01