最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3中使用this的詳細教程

 更新時間:2023年07月10日 16:15:50   作者:PhilipJ0303  
在vue3中新的組合式API中沒有this,那我們?nèi)绻枰玫絫his怎么辦?下面這篇文章主要給大家介紹了關(guān)于Vue3中使用this的詳細教程,需要的朋友可以參考下

Vue3使用this

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

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

因此setup函數(shù)中不能使用this。所以Vue為了避免我們錯誤的使用,直接將setup函數(shù)中的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,該方法返回了當前的實例對象
         *
         * 注意?。。。。?
         * 不要把該函數(shù)當作是optionsApi中來獲取 this 使用。
         * 該方法只在 setup、生命周期函數(shù)中有效,在方法中是無效的
         * */
        currentInstance.value = getCurrentInstance()
    });
</script>

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

補充:Vue3.0中this的替代方法

  • 在vue3中,新的組合式API中沒有this,我們可以通過以下方法替代this
  • setup 在生命周期 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  函數(shù)
      count: computed(() => store.state.count),
      // 訪問 getter函數(shù)
      double: computed(() => store.getters.double)
	  // mutation
      increment: () => store.commit('increment'),
      // 使用 action
      asyncIncrement: () => store.dispatch('asyncIncrement')
    }
  }
}

總結(jié)

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

相關(guān)文章

  • element?時間選擇器禁用選擇的使用示例

    element?時間選擇器禁用選擇的使用示例

    最近做項目遇到的一個功能,禁止用戶在輸入內(nèi)容的時候選擇今天以前的日期或者包含今日的日期,本文主要介紹了element?時間選擇器禁用選擇的使用示例,感興趣的可以了解一下
    2023-09-09
  • Vue3如何在SCSS中使用v-bind

    Vue3如何在SCSS中使用v-bind

    這篇文章主要介紹了Vue3如何在SCSS中使用v-bind,通過template先創(chuàng)建一個通用的頁面結(jié)構(gòu),本文結(jié)合實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • vue實現(xiàn)將圖像文件轉(zhuǎn)換為base64

    vue實現(xiàn)將圖像文件轉(zhuǎn)換為base64

    這篇文章主要介紹了vue實現(xiàn)將圖像文件轉(zhuǎn)換為base64,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Vue3中provide和inject作用和場景

    Vue3中provide和inject作用和場景

    Vue3中provide和inject作用和場景是頂層組件向任意的底層組件傳遞數(shù)據(jù)和方法,實現(xiàn)跨層組件通信,本文通過實例介紹Vue3 provide和inject的相關(guān)知識,感興趣的朋友一起看看吧
    2023-11-11
  • vue-pdf插件實現(xiàn)pdf文檔預(yù)覽方式(自動分頁預(yù)覽)

    vue-pdf插件實現(xiàn)pdf文檔預(yù)覽方式(自動分頁預(yù)覽)

    這篇文章主要介紹了vue-pdf插件實現(xiàn)pdf文檔預(yù)覽方式(自動分頁預(yù)覽),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Vue DPlayer詳細使用教程含遇到坑

    Vue DPlayer詳細使用教程含遇到坑

    Vue-DPlayer是一個易于使用、高性能的基于Vue.js的視頻播放器組件,本文給大家介紹Vue DPlayer詳細使用,本文將從四個方面對Vue-DPlayer進行詳細的闡述,感興趣的朋友一起看看吧
    2023-10-10
  • 使用vue3-print-nb實現(xiàn)打印pdf分頁代碼示例

    使用vue3-print-nb實現(xiàn)打印pdf分頁代碼示例

    這篇文章主要介紹了使用vue3-print-nb實現(xiàn)打印pdf分頁的相關(guān)資料,這種方法不僅適用于Vue3項目,也可以在其他前端框架中實現(xiàn)類似的打印分頁功能,需要的朋友可以參考下
    2024-10-10
  • vue2組件之select2調(diào)用的示例代碼

    vue2組件之select2調(diào)用的示例代碼

    本篇文章主要介紹了vue2組件之select2調(diào)用的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • vue2引入Three.js預(yù)覽3D文件的實現(xiàn)方法

    vue2引入Three.js預(yù)覽3D文件的實現(xiàn)方法

    three.js是一個基于WebGL的JavaScript庫,它允許開發(fā)者在網(wǎng)頁上創(chuàng)建和顯示3D圖形,這篇文章主要介紹了vue2引入Three.js預(yù)覽3D文件的實現(xiàn)方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-10-10
  • vue實現(xiàn)點擊隱藏與顯示實例分享

    vue實現(xiàn)點擊隱藏與顯示實例分享

    在本篇文章中小編給大家分享了vue如何實現(xiàn)點擊隱藏與顯示的相關(guān)內(nèi)容,有需要的朋友們跟著學習下。
    2019-02-02

最新評論

黄骅市| 兰州市| 扶风县| 鄂托克前旗| 武宣县| 平乐县| 云和县| 棋牌| 朝阳县| 盐城市| 扶绥县| 青海省| 岑巩县| 郑州市| 武乡县| 安顺市| 北川| 孝感市| 麻阳| 无极县| 当雄县| 屯留县| 前郭尔| 三门县| 沿河| 武隆县| 黔南| 罗山县| 雷山县| 长汀县| 肥城市| 凤庆县| 迭部县| 永城市| 重庆市| 高碑店市| 太康县| 五台县| 乌拉特中旗| 新沂市| 邵武市|