鍍金池/ 問(wèn)答/HTML5  PHP  C  HTML/ vuex action axios 問(wèn)題

vuex action axios 問(wèn)題

vuex中action怎么寫axios才能把mutations修改的state值傳到數(shù)據(jù)庫(kù)中在讀取出來(lái)顯示在view層

clipboard.png

clipboard.png

回答
編輯回答
故林

那就直接先吧修改后的值,post到后臺(tái)存到數(shù)據(jù)庫(kù),然后后臺(tái)把數(shù)據(jù)庫(kù)里的數(shù)據(jù)再全部返給你,你commit一個(gè)mutilations,再修改state,頁(yè)面就自動(dòng)更新了呀。舉個(gè)修改列表數(shù)據(jù)的例子

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

修改數(shù)據(jù)的時(shí)候,在組件中:

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

你在組件中取數(shù)據(jù)的時(shí)候:

const listData = this.$store.state.resource.list
2017年12月2日 15:15