vuex action axios 问题

vuex中action怎么写axios才能把mutations修改的state值传到数据库中在读取出来显示在view层

clipboard.png

clipboard.png

阅读 2.1k
1 个回答

那就直接先吧修改后的值,post到后台存到数据库,然后后台把数据库里的数据再全部返给你,你commit一个mutilations,再修改state,页面就自动更新了呀。举个修改列表数据的例子

import axios from 'axios';
const listData = {
  state:{
    list:null
  },
  mutations:{
    CHANGE_LIST(state,payload){
      state.list = payload
    }
  },
  actions:{
    changeListAction({commit}){
      axios.post("你后端的接口",{key:val}).then(res=>{
        if(res.data.result){
          commit("CHANGE_LIST",res.data.data)
        }
      })
    }

  }
};
export default listData

修改数据的时候,在组件中:

this.$store.dispatch('changeListAction');

你在组件中取数据的时候:

const listData = this.$store.state.resource.list
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题