av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

Vue3中使用this的詳細教程

瀏覽:4日期:2022-06-13 11:21:49
目錄Vue3使用this具體使用如下:補充:Vue3.0中this的替代方法方法一方法二(推薦使用)總結Vue3使用this

Vue2升級到Vue3,有很大的改變,其中最明顯的就是以前的this,在新版本中無法使用了,這是為什么呢?

官方是這樣說的:在 setup() 內部,this 不會是該活躍實例的引用(即不指向vue實例),因為 setup() 是在解析其它組件選項之前被調用的,所以 setup() 內部的 this 的行為與其它選項中的 this 完全不同。這在和其它選項式 API 一起使用 setup() 時可能會導致混淆。

因此setup函數中不能使用this。所以Vue為了避免我們錯誤的使用,直接將setup函數中的this修改成了 undefined

所以想要在Vue3中使用this, Vue為我們提供了getCurrentInstance()方法,這個方法返回了ctx和proxy。

具體使用如下:<script setup> import {getCurrentInstance} from '@vue/runtime-core' const currentInstance = ref() onMounted(() => {/** * 此處這樣使用時因為Vue3不同于Vue2,在 Vue3的setup中我們是無法訪問到this的,所以我們需要借助一個方法, * 那就是getCurrentInstance,該方法返回了當前的實例對象 * * 注意!!!!! * 不要把該函數當作是optionsApi中來獲取 this 使用。 * 該方法只在 setup、生命周期函數中有效,在方法中是無效的 * */currentInstance.value = getCurrentInstance() });</script>

這樣我們就可以借助currentInstance 來完成在Vue2中this的使用場景了

補充:Vue3.0中this的替代方法在vue3中,新的組合式API中沒有this,我們可以通過以下方法替代thissetup 在生命周期 beforecreate 和 created 前執(zhí)行,此時 vue 對象還未創(chuàng)建,所以我們無法使用 this方法一

getCurrentInstance() 方法,獲取當前組件的實例,通過 ctx 或 proxy 屬性獲得當前上下文,從而就能在setup中使用router和vuex

import { getCurrentInstance } from 'vue';export default {setup() { let { proxy } = getCurrentInstance(); console.log(proxy) }}

getCurrentInstance 方法去獲取組件實例來完成一些主要功能,在項目打包后,會報錯(不推薦使用)

方法二(推薦使用)import { useStore } from 'vuex'import { useRoute, useRouter } from 'vue-router'export default { setup () { const store = useStore()const route = useRoute() const router = useRouter() return { // 訪問 state 函數 count: computed(() => store.state.count), // 訪問 getter函數 double: computed(() => store.getters.double) // mutation increment: () => store.commit('increment'), // 使用 action asyncIncrement: () => store.dispatch('asyncIncrement') } }}

總結

到此這篇關于Vue3中使用this的文章就介紹到這了,更多相關Vue3使用this內容請搜索好吧啦網以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JavaScript
主站蜘蛛池模板: 久久99精品久久久久久琪琪 | 亚洲欧美综合精品另类天天更新 | 亚洲一区视频在线 | 欧美极品在线视频 | 久久精品| 日韩中文字幕区 | 日韩1区2区 | 99久久精品免费看国产四区 | 一级毛片观看 | 国产精品久久99 | 亚洲午夜视频在线观看 | 97精品超碰一区二区三区 | 国产日韩av一区二区 | 国产精品日日做人人爱 | 国产乱码精品一区二区三区忘忧草 | 97精品国产97久久久久久免费 | 羞羞网站在线免费观看 | 在线观看第一区 | 夜操| 成人精品国产一区二区4080 | 国产偷录视频叫床高潮对白 | 久久精品国产免费看久久精品 | 狠狠亚洲| 一区二区av | 日本在线免费视频 | 免费黄色录像片 | 国产中的精品av涩差av | 最近日韩中文字幕 | 成人小视频在线 | 99久久婷婷国产精品综合 | 色视频一区二区 | 久久91视频 | 国产目拍亚洲精品99久久精品 | 国精久久 | 成人欧美一区二区三区在线播放 | h视频免费在线观看 | 色一情一乱一伦一区二区三区 | 6080亚洲精品一区二区 | 国产精品久久久久久久久久久免费看 | 久久香蕉精品视频 | 国产成人艳妇aa视频在线 |