axios獲取數(shù)據(jù)

安裝axios

cnpm i axios -S

引入

import axios from 'axios';

asyncData方法會(huì)在組件(限于page頁面組件)每次加載之前被調(diào)用。它可以在服務(wù)端或路由更新之前被調(diào)用。
因?yàn)?asyncData 在前端渲染頁面之前調(diào)用,所以 asyncData 中沒有 this。
先通過 asyncData 中的代碼獲取到遠(yuǎn)程的數(shù)據(jù),然后再把得到的遠(yuǎn)程數(shù)據(jù)合并到當(dāng)前前端組件 data 中,然后在渲染頁面,這就是 ssr 渲染的過程。

export default {
    async asyncData({ params }) {
        let { data } = await axios.get('/1.json');
        console.log('data:', data);
        return data;    // 這個(gè)return會(huì)把結(jié)果和data屬性的值自動(dòng)合并,視圖層直接調(diào)用即可。
    }
};

如果不喜歡 es6 的 async/await,那么也可以使用回調(diào)函數(shù)。

asyncData({ params }, callback){
    axios.get(`http://127.0.0.1:3000/goods`).then(res=>{
        callback(null, {
            a:1,
            arr:res.data
        })
    })    
}
最后編輯于
?著作權(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),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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