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

使用vuex的時候,出現(xiàn)this.$store為undefined問題

 更新時間:2023年06月27日 14:34:04   作者:yanguo110  
這篇文章主要介紹了使用vuex的時候,出現(xiàn)this.$store為undefined問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

使用vuex出現(xiàn)this.$store為undefined問題

使用的場景

在open_show中調(diào)用update_info的時候出現(xiàn)undefined

解決的思路

剛開始接觸vuex,碰到這個問題,首先就是搜索一下,別人的一般都是this.$store.state為undefined,還是沒有什么思路,然后我看了一下項目中別人寫的代碼中就可以調(diào)用,再看下目錄,難道和目錄有關(guān),試了一下,并沒有什么作用,就換種思路,打印了一下this,發(fā)現(xiàn)this的指向出現(xiàn)問題。

this指向的解決方法

第一種:

methods: {
      update_info:function(self,data){
        alert(self.$store);
        self.$store.commit("info",data);
      },
      open_show: function () {
	     var self =this;
       this.update_info(self,this.flag);
       }
   }

第二種:

var self =this;
  export default {
	  methods: {
	      update_info:function(data){
	        alert(self.$store);
	        self.$store.commit("info",data);
	      },
	      open_show: function () {
	       this.update_info(this.flag);
	       }
       },
     created(){
		  self = this;
  }
}

當(dāng)然以上的方法是解決特定場景下的this指向問題,即方法調(diào)用方法時,如果方法很多地方都調(diào)用的話,推薦使用第二種,第一種當(dāng)方法公用時還需要修改,如果只是是單個調(diào)用,方法一推薦使用。

vuex使用token時$store一直undefined

報錯:Cannot read properties of undefined(reading '$store') at eval

先直接說解決方法,后面再一一分析。

解決方法

將then()中的普通函數(shù)換成箭頭函數(shù),即可解決錯誤,該錯誤產(chǎn)生的原因其實是this的指向問題。

錯誤代碼展示:

分析原因

首先在main.js中對$store進(jìn)行打印,觀察是否真的將store注冊到Vue實例中

打印結(jié)果:

控制臺能對$store進(jìn)行打印,說明store是存在于vue中的,所以排除vuex安裝錯誤和store沒有注冊到實例例中的錯誤。

再觀察方法中如何調(diào)用store——直接使用this.$store,那么會不會是因為這里的this并不指向vue呢,經(jīng)過上網(wǎng)查證,我在vue文檔中得到了這么一句話:

All lifecycle hooks are called with their 'this' context pointing to the Vue instance invoking it.

就是說,在Vue所有的生命周期鉤子方法(如created,mounted, updated以及destroyed)里使用this,this指向調(diào)用它的Vue實例,即(new Vue)。

因為在then()中使用了普通函數(shù),而普通函數(shù)中的this不指向vue,自然無法找到vue.$store,

將普通函數(shù)換成箭頭函數(shù)之后,箭頭函數(shù)沒有自己的this, 它的this是繼承而來,所以箭頭函數(shù)內(nèi)的this指向new Vue,也就是我定義的myVue,就可以使用this.$store了。

解決方法示例

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解析vue3的ref,reactive的使用和原理

    解析vue3的ref,reactive的使用和原理

    這篇文章主要介紹了vue3的ref,reactive的使用和原理解析,分析了?reactive?的實現(xiàn),以及?reactive?api?返回的?proxy?代理對象使用的?handlers?陷阱,并且對陷阱中我們最常用的?get?和?set?的源碼進(jìn)行分析,需要的朋友可以參考下
    2022-09-09
  • elementUI vue this.$confirm 和el-dialog 彈出框 移動 示例demo

    elementUI vue this.$confirm 和el-dialog 彈出框 移動 示例demo

    這篇文章主要介紹了elementUI vue this.$confirm 和el-dialog 彈出框 移動 示例demo,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • vue項目中使用require.context引入組件

    vue項目中使用require.context引入組件

    本文主要介紹了vue項目中使用require.context引入組件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 一文教會你快速上手vue的登錄界面(最新版)

    一文教會你快速上手vue的登錄界面(最新版)

    幾乎每個項目都會使用登錄頁面,這篇文章主要給大家介紹了如何通過一文教會你快速上手vue的登錄界面,文中通過實例代碼介紹的很詳細(xì),需要的朋友可以參考下
    2022-11-11
  • vue 項目打包時樣式及背景圖片路徑找不到的解決方式

    vue 項目打包時樣式及背景圖片路徑找不到的解決方式

    今天小編就為大家分享一篇vue 項目打包時樣式及背景圖片路徑找不到的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • vue發(fā)送ajax請求詳解

    vue發(fā)送ajax請求詳解

    如何利用vue進(jìn)行AJAX,其它vue本身不支持發(fā)送AJAX請求,需要使用vue-resource(vue1.0版本)或axios(vue2.0版本)第三方插件的支持才行
    2018-10-10
  • 超詳細(xì)圖解如何運行vue項目

    超詳細(xì)圖解如何運行vue項目

    Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式框架,它的核心庫只關(guān)注視圖層,易于上手,也便于與其他庫或已有項目整合,下面這篇文章主要給大家介紹了關(guān)于如何運行vue項目的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • 在Vue中使用Echarts+封裝

    在Vue中使用Echarts+封裝

    這篇文章主要介紹了在Vue中使用Echarts++封裝,需要的朋友可以參考下
    2023-11-11
  • Vue必學(xué)知識點之forEach()的使用

    Vue必學(xué)知識點之forEach()的使用

    在前端開發(fā)中,經(jīng)常會遇到一些通過遍歷循環(huán)來獲取想要的內(nèi)容的情形,這時候就需要用到forEach()了,下面這篇文章主要給大家介紹了關(guān)于Vue必學(xué)知識點之forEach()使用的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • Vue3+Canvas實現(xiàn)坦克大戰(zhàn)游戲(一)

    Vue3+Canvas實現(xiàn)坦克大戰(zhàn)游戲(一)

    這篇文章將利用Vue3和Canvas編寫一個童年經(jīng)典游戲—坦克大戰(zhàn),文中的示例代碼講解詳細(xì),感興趣的小伙伴快來跟隨小編一起學(xué)習(xí)一下吧
    2022-03-03

最新評論

隆子县| 娄底市| 雅江县| 北碚区| 进贤县| 双峰县| 杭锦后旗| 梅州市| 繁峙县| 遵化市| 灵石县| 玛曲县| 阿瓦提县| 行唐县| 津市市| 静乐县| 普格县| 沈阳市| 平安县| 龙海市| 高台县| 凤凰县| 西盟| 济源市| 斗六市| 永登县| 宜春市| 安塞县| 大城县| 海门市| 汨罗市| 德昌县| 尉犁县| 盘锦市| 东港市| 开封市| 龙里县| 温州市| 蒙阴县| 曲周县| 阳城县|