第一步:頁面發(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ù)。