如何在vuejs vuex中从方法中传递参数到动作?

问题描述 投票:0回答:1

我的文件中有这样的代码。

Users.vue

methods: {
obtenerUsuarios() {
  console.log('Obtener Usuarios')
  this.$store
    .dispatch('auth/getValidToken')
    .then((data) => {
      console.log(data). // Console First Message
      this.$store
        .dispatch('user/fetchUsers', data)
        .then((response) => {
          this.items = response.data
        })
        .catch((error) => {
          console.log(error)
        })
    })
    .catch((error) => {
      console.log('Error: ' + error)
    })
},

},

控制台 首先,Mesagge在控制台中给我显示了一个json web token,这是正常的。

使用者.js

export const actions = {
    fetchUsers({ jwt }) {
    console.log('Action JWT:' + jwt)  //Second console.log
    return UserService.getUsers(jwt)
  },
}

第二条消息给我看。Action JWT:undefined 在控制台

如果我把第二行改为

fetchUsers(jwt) {

第二条消息给我看。行动 JwT:[对象对象]

我需要从Users.vue方法中传递一个json web token到fetchUsers动作y user.js中。

我将感谢任何帮助

Jose Rodriguez

vue.js vuex
1个回答
2
投票

你的动作方法当前声明了第一个参数中的数据(没有第二个参数),但是......。行动 接收Vuex上下文作为其 第一 参数。数据有效载荷在 第二 争论。

const actions = {
  //fetchUsers(data) {}        // DON'T DO THIS (1st arg is for context)
  fetchUsers(context, data) {}
}
© www.soinside.com 2019 - 2024. All rights reserved.