Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js VueX-在不同于操作的模块中分派操作_Vue.js_Vuejs2_Vuex - Fatal编程技术网

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 I
dispatch
模块中定义了一个动作,但我收到一个错误:

[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 })