Vue.js VueX-在不同于操作的模块中分派操作
我想在Vue.js VueX-在不同于操作的模块中分派操作,vue.js,vuejs2,vuex,Vue.js,Vuejs2,Vuex,我想在注销时清除用户数据,因此从authmodule Idispatch模块中定义了一个动作,但我收到一个错误: [vuex]未知的本地操作类型:clearUserData,全局类型:auth/clearUserData 这是我的代码: store/modules/auth.js store/modules/ride.js store/store.js 我做错了什么?您错误地将{root:true}作为第二个参数传递,该参数用于有效负载。选项应为: //分派('ride/clearUserDat
注销时清除用户数据
,因此从auth
module Idispatch
模块中定义了一个动作,但我收到一个错误:
[vuex]未知的本地操作类型:clearUserData,全局类型:auth/clearUserData
这是我的代码:
store/modules/auth.js
store/modules/ride.js
store/store.js
我做错了什么?您错误地将{root:true}
作为第二个参数传递,该参数用于有效负载。选项应为:
//分派('ride/clearUserData',{root:true})//修复:作为有效负载传递的选项
分派('ride/clearUserData',null,{root:true})
如果没有要传递的有效负载,则需要将第二个参数作为null
发送,如:
dispatch('ride/clearUserData', null, { root: true })
我在本地电脑上试过了,但我无法复制你的错误。你能创建一个演示来重现这个场景吗?@AnaLizaPandac这里有一个链接,指向我录制的一个视频,我正在使用“vuex”:“^3.1.0”,如果这个问题我使用的是相同的版本,但仍然无法重现这个问题。您能否演示如何在
store.js
文件中导入auth
和ride
模块。@AnaLizaPandac这是我的应用程序源代码,以防您需要查看
export const namespaced = true
export const state = {
data: []
}
export const mutations = {
CLEAR_USER_DATA(state){
state.data = []
}
}
export const actions = {
clearUserData({ commit }) {
commit('CLEAR_USER_DATA')
}
}
import * as auth from './modules/auth'
import * as ride from './modules/ride'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
loading: false
},
modules: {
auth,
ride
}
})
dispatch('ride/clearUserData', null, { root: true })