为什么vuex的actions传的第二个参数是undefined?

actions.js:

export const fetchRoomLists = {commit}, cname, limit => { const url = `/live/${cname}` const query = `offset=0&limit=${limit}` return _get{ url, query }, commit .thenjson => { if json.error === 0 { // return commitFETCH_ROOM_LIST_SUCCESS, json.data console.logquery } return Promise.rejectnew ErrorFETCH_ROOM_LIST_SUCCESS failure } .catcherror => { return Promise.rejecterror }

在vue文件的dispatch:

mounted { this.$store.dispatchfetchRoomLists, this.$route.params.id, 30
},

console出来是这样的:

有谁知道是什么问题么?搞半天没搞懂?明明定义了,但是第二个参数一直是undefined,但是一个参数又不会~

代码貌似没有贴全,不知道你的action有没有在vuex中注册,然后是调用action派发mutation,然后在那个调用action的函数中打印一下$route看看是不是组件生命周期的问题

看样子你用的是vue2,那么问题来了,从源码看当然从api文档看也一样,dispatch最多就只接受两个参数,typepayload,所以你说你传的, 30总是undefined对吧?那就对了,

源码地址:vuex

文档地址:vuexstore-methods

请问题主是如何解决的

发表评论

电子邮件地址不会被公开。 必填项已用*标注