-1

如何在登录时更新状态值。这样我就可以在主页中使用相同的状态。

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');
})
4

1 回答 1

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>
于 2019-06-12T08:33:42.217 回答