dispatch:含有異步操作,例如向后台提交數據,寫法: this.$store.dispatch('action方法名',值)
commit:同步操作,寫法:this.$store.commit('mutations方法名',值)
區別:
1.Action提交的是mutation,而不是直接變更狀態,可以包含任意的異步操作。
2.dispatch推送一個action。
1.dispatch 異步操作 this.store.dispatch('action的方法',arg),調用actions里的方法。
2.commit同步操作this.store.commit('mutations的方法', arg),調用mutations里的方法。
使用方法步驟:
在上面代碼中,在mutations中使用箭頭函數更改state中的token數據。然后在actions中Login函數中通過commit('SET_TOKEN', tokenSuccess )來進行調用此函數並傳參,才能在store存儲成功。在需要的組件中使用this.$store.dispatch('actions方法')來調取store里的對應方法,從而更新。
作者:inyourface
鏈接:https://www.jianshu.com/p/92cacdb75b69