vuex踩坑:action接收参数与提交

本文总结了使用Vuex时容易遇到的参数传递问题,包括actions向mutations提交时需要将参数封装成对象,commit提交数据给mutations也需如此,state的使用根据是否在当前文件定义而有所不同,以及mutations接收数据同样要求对象形式。
摘要由CSDN通过智能技术生成

当我们使用vuex进行管理数据和函数的时候,对于其中的参数传递可能会忘记,在此声明一下。以免下次踩坑。

1.actions向mutations提交时,用到的commit接收时必须加{}使之成为对象

2.使用commit()将数据提交给mutations 时,数据必须加{}使之成为对象。

const actions = {
	//commit必须包装为对象{commit}
	reqAllList({commit}){
	//...ajax请求。。。
	result = ajax(url,params,type)
	//获得的数据提交必须包装为对象{result}
	commit('updateAllList',{result})
	}
}

3.使用state时,有两种情况

  • state已经在当前文件中被定义的,使用时不用加{}。直接传入state。
const state={}
const actions={
	//state不用包装成{state}对象,直接传入
	getList(state){
		cosnt username = state.name
	}
}
const mutations = {}

  • state没有在当前文件中定义,而当前文件为一个单独的模块
//actions.js  存放所有函数
//此时state必须包装为一个{state对象}
getList({state}){
	cosnt username = state.name
}

4.mutations接收数据的时候必须加{}使之成为对象

const mutations = {
  getCollList: ({collList}) => {
   const list = collList
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值