安装axios
cnpm i axios -S
引入
import axios from 'axios';
asyncData方法会在组件(限于page页面组件)每次加载之前被调用。它可以在服务端或路由更新之前被调用。
因为 asyncData 在前端渲染页面之前调用,所以 asyncData 中没有 this。
先通过 asyncData 中的代码获取到远程的数据,然后再把得到的远程数据合并到当前前端组件 data 中,然后在渲染页面,这就是 ssr 渲染的过程。
export default {
async asyncData({ params }) {
let { data } = await axios.get('/1.json');
console.log('data:', data);
return data; // 这个return会把结果和data属性的值自动合并,视图层直接调用即可。
}
};
如果不喜欢 es6 的 async/await,那么也可以使用回调函数。
asyncData({ params }, callback){
axios.get(`http://127.0.0.1:3000/goods`).then(res=>{
callback(null, {
a:1,
arr:res.data
})
})
}