如何在登录时更新状态值。这样我就可以在主页中使用相同的状态。
account.js
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export const account = new Vuex.Store({
state: {
id : 0
},
mutations: {
setId(state, id) {
state.id = id
}
},
actions: {
async actionA ({ commit }) {
return new Promise((resolve, reject) => {
setTimeout(() => {
commit('setId', 33)
resolve()
}, 1000)
})
}
}
});
我需要更新login.js中的id值,并在home.vue中使用该值。
store.dispatch('actionA').then(() => {
console.log('success');
})
答案 0 :(得分:0)
https://vuex.vuejs.org/guide/actions.html#dispatching-actions-in-components
import { mapActions } from 'vuex'
export default {
// ...
methods: {
...mapActions([
'addItems', // map `this.addItems()` to `this.$store.dispatch('addItems')`
]),
}
}
在您的登录按钮上:
<button @click="addItems('your-id-here')">Log In</button>