vuex的actions需要axios时候,怎么获取state里面的数据作为接口请求参数

vuex的actions需要axios时候,怎么获取state里面的数据作为接口请求参数呢?
在actions里做axios请求时候,需要的参数来自state里,怎么获取呢,最后接口返回时候,是不是得调用mutations来改变state里面的值,而不能直接改变??

阅读 6k
1 个回答

在actions里用axios的话,直接引入就好了import 'axios'
获取state里的数据也可以直接引state,不过一般都是接收外面传过来的参数

改变state值当然是通过mutations改变了,通过actions里的context.commit嗲用mutations里的方法(可以把参数传过去),在mutations里改state

actions:

import axios form 'axios'

const actions = {
  setMutation (context, params) {
    axios.get(params.url, {params: params})
    .then(res => {
        context.commit('setInfo', res.info)
    })
  }
}

export default actions

mutations:

const mutations = {
    setInfo (state, params) {
        state.info = params.info
    }
}

export default mutations
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题