vuex中store儲存store.commit和store.dispatch的用法
阿新 • • 發佈:2020-07-26
程式碼示例:
this.$store.commit('loginStatus',1);
this.$store.dispatch('isLogin',true);
規範的使用方式:
// 以載荷形式 store.commit('increment',{ amount: 10 //這是額外的引數 }) // 或者使用物件風格的提交方式 store.commit({ type: 'increment',amount: 10 //這是額外的引數 })
主要區別:
dispatch:含有非同步操作,資料提交至 actions ,可用於向後臺提交資料
寫法示例:
this.$store.dispatch('isLogin',true);
commit:同步操作,資料提交至 mutations ,可用於登入成功後讀取使用者資訊寫到快取裡
寫法示例:
this.$store.commit('loginStatus',1);
兩者都可以以載荷形式或者物件風格的方式進行提交
補充知識:如何獲取vuex的action的返回值(axios請求為例)
因為之前老師有講過將vuex的封裝。
今天就想嘗試寫一下,然後就封裝了。
但是我想要在vue元件裡面獲取vuex的action的返回值
這裡我用的dispatch呼叫 如圖
我這裡使用的new Promise的方法
呼叫getlunbolist的時候返回一個new Promise,把需要的值用resolve帶出
在元件就可以用then的方法取出來使用
我只是一個小小白,我知道我的表述很生硬而且可能還不準備,但是意思就是大概這個意思。而且會堅持把我覺得有收穫的內容下來的,希望以後成大佬了能自己來完善,當然大佬們看到問題了可以多多指點一下小弟。
以上這篇vuex中store儲存store.commit和store.dispatch的用法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。