#vue axios請(qǐng)求到的數(shù)據(jù)存入vuex ( /詳細(xì)精簡(jiǎn)/)

第一步:頁面發(fā)送axios請(qǐng)求

  created() {
    // 請(qǐng)求數(shù)據(jù)
    axios
      .get("https://cnodejs.org/api/v1/topics", {
        // 請(qǐng)求體`
        params: {
          page: "1",
          limit: "40",
        },
      })
      .then((res) => {
        let _this = this;
        // 把數(shù)據(jù)傳到vuex里面
        _this.$store.commit("setData", res.data.data); //res.data.data 為請(qǐng)求返回的數(shù)據(jù)
      });
  },

第二步:vuex里面接收數(shù)據(jù)

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // 創(chuàng)建新一個(gè)數(shù)組存入請(qǐng)求到到數(shù)據(jù)
    arr:[]
  },
  // 唯一修改state屬性的方法
  mutations: {
    setData(state,payload){
     state.arr=payload
    //這里打印下看下是否有接收到,
     console.log(state.arr);
   }
  },
  actions: {
  },
  modules: {
  }
})

第三步:在組件中按需引入

<template>
  <div>
      <div>{{arr}}</div>
  </div>
</template>

<script>
    // 按需引入vuex
    import {mapState} from "vuex"
    export default {
        computed:{
            // 到這一步就獲取到數(shù)據(jù)了
            ...mapState(['arr'])
        }
  

}
</script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容