store.getters呼び出しが実行されていない問題を解決します。
api:https://vuex.vuejs.org/zh/guide/getters.html
シーン:
ログイン時にログインしたユーザ情報をvuexのstateとsession Strageに格納します。使用時にstateで取得し、リフレッシュなどでstateにデータがない場合は、sission Strageで取得します。
エラー:
ログイン後、ユーザ情報の取得が必要な場合、gettersの属性の方法は実行されません。ただgettersに行ってキャッシュを取得します。
解決方法:
gettersの属性をメソッドに書き換えると、呼び出しのたびに実行され、新たにデータを取得します。
以上の問題を解決しました。store.gettersは実行しない問題を呼び出しました。つまり、小編集は皆さんに全部の内容を共有しました。参考にしてもらいたいです。どうぞよろしくお願いします。
シーン:
ログイン時にログインしたユーザ情報をvuexのstateとsession Strageに格納します。使用時にstateで取得し、リフレッシュなどでstateにデータがない場合は、sission Strageで取得します。
エラー:
ログイン後、ユーザ情報の取得が必要な場合、gettersの属性の方法は実行されません。ただgettersに行ってキャッシュを取得します。
解決方法:
gettersの属性をメソッドに書き換えると、呼び出しのたびに実行され、新たにデータを取得します。
getloginInfor: (state) => () => {}
コード:
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
/* */
loginInfor: {
}
},
mutations: {
setloginInfor (state, msg) {
state.loginInfor = msg
}
},
actions: {
},
getters: {
getloginInfor: (state) => () => {
// state
let loginInfo = state.loginInfo
// state , localStorage
if (!loginInfo) {
loginInfo = JSON.parse(sessionStorage.getItem('loginInfo'))
}
return loginInfo
}
}
})
使用:
this.$store.getters.getloginInfor()
研究は容易ではないです。転載は出所を明記してください。。。以上の問題を解決しました。store.gettersは実行しない問題を呼び出しました。つまり、小編集は皆さんに全部の内容を共有しました。参考にしてもらいたいです。どうぞよろしくお願いします。