gpt4 book ai didi

javascript - 如何在 Vuex 的 Action 函数中使用突变函数?

转载 作者:行者123 更新时间:2023-12-01 00:44:47 25 4
gpt4 key购买 nike

我有这个Vuex:

export default new Vuex.Store({
state: {
userInfo: {
nit_ID: { ID: '', Desc: '' },
userName: { ID: '', Desc: '' },
typeDocument: { ID: '', Desc: '' },
document: '',
},
globalPublicKey: 'ASDFGHJKL1234567890',
},
mutations: {
updateUserInfo(state, payload) {
state.userInfo = payload;
},
},
getters: {
userInfo: (state) => { return state.userInfo; },
},
actions: {
validateUserSession(context) {
var valido = false;
try {
let storageInfo = JSON.parse(
sjcl.decrypt(context.state.globalPublicKey, localStorage.userInfo)
);
if (localStorage.userToken === storageInfo.token) {
context.mutations.updateUserInfo(storageInfo);
valido = true;
}
} catch (e) {
console.error(e);
}
return valido;
},
},
})

但问题是我无法访问mutation updateUserInfo(),我知道这很容易解决,只需执行updateUserInfo 在我的操作中进行处理,但问题是如何在操作中使用突变

最佳答案

在 VueJS 中,您可以通过调用 context.commitaction 调用 mutation,如下所示:

context.commit('mutationName', params)

如果没有参数传递给突变,则可以省略params

更多信息请参见:vuex.vuejs.org/guide/actions.html

实际上,您可以通过提交从任何地方调用突变 - 但建议依次使用操作(因此分派(dispatch)操作) 提交数据(实际上改变状态)。

关于javascript - 如何在 Vuex 的 Action 函数中使用突变函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57481357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com