未捕获(在承诺中)TypeError:无法在字符串上创建属性“token”
2022-12-19
153
我正在尝试使用 vuex 实现身份验证。我有一个注册组件和一个用于提交数据的 auth.js。
我的后端 API 运行良好,但问题是当我尝试登录时。当我在操作方法中控制台登录时,我能够获取令牌。
当我在 SET_TOKEN 突变之前控制台登录时,我也能够获取数据。
但在突变中,数据像对象一样被接收。我该如何解决错误?
import axios from "axios"
export default{
namespaced: true,
state: {
token: null,
user: null
},
mutations: {
SET_TOKEN(access_token, state){
console.log(this, access_token)
state.token = this,access_token
},
},
actions: {
async loginUser({ dispatch }, form) {
let response = await axios.post('/api/auth/login', form)
dispatch('attempt', response.data.data.access_token)
},
async attempt({ commit }, access_token){
commit('SET_TOKEN', access_token)
}
}
}
1个回答
我认为您稍微混淆了突变参数的顺序。第一个是状态,第二个是有效载荷(在您的例子中是令牌)
SET_TOKEN(state, token) {
state.token = token;
},
Romalex
2022-12-19