vuex - vuex 未知动作(或突变)类型
问题描述
我正在编写一个简单的代码来在 Nuxt 应用程序中存储令牌。当我尝试从我的商店调用突变或操作时,控制台中记录了此错误:[vuex] 未知操作类型:setToken
import Vuex from 'vuex';
export const store = new Vuex.Store({
state:()=> ({
token: ''
}),
getters: {
getToken: state => {
return state.token;
}
},
mutations: {
setToken: (tokenStr) => {
state.token = tokenStr;
}
},
actions: {
setToken: ({ commit }, tokenStr) => {
commit('setToken', tokenStr);
}
}
})
这是一种尝试调用突变的方法:
methods:{
setToken(){
this.$store.dispatch('setToken','token1');
this.token = this.$store.getters.token;
}
}
解决方案
您正在使用“经典”且现已弃用的方法在 nuxt 中设置 vuex 存储。你应该这样设置:
// store/index.js
export const state = () => ({
token: ''
})
export const mutations = {
SET_TOKEN (state, tokenStr) {
state.token = tokenStr
}
export const actions = {
setToken ({ commit }, tokenStr) {
commit('SET_TOKEN', tokenStr)
}
}
export const getters = {
token: (state) => state.token
}
Nuxt 将从那里为您建立商店。您可以在此处的文档中看到它。
推荐阅读
- python - 我的工作脚本不会从快捷方式启动
- sql - 用于检查值是否为 0 或唯一的 T-SQL 约束
- yii2 - I am not connecting to a database in yii2
- swift - How to run terminal command in swift from any directory?
- javascript - Greensock gsap javascript throwing error and demo in codepen
- assembly - Limit number of items per line in gdb's x examine memory output
- jquery - Jquery - how to reset value after empty input
- python - Merge two data-frames based on multiple conditions
- python - Adding a new column based on other columns and rows
- javascript - 在没有键的情况下调用 JSON 的元素