当我们使用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
}