参考视频-哔站coderwhy老师
步骤
1.安装axios
npm install --save axios
2.封装实例
// 导入axios
import axios from 'axios';
// 封装实例
export function request(config) {
// 创建实例
const instance = axios.create({
baseURL: '公共接口',
timeout: 5000
});
// 请求拦截
instance.interceptors.request.use(config => {
return config;
}, err => {
console.log(err);
});
// 响应拦截
instance.interceptors.response.use(res => {
return res.data;
}, err => {
console.log(err);
});
//发送真正的网络请求
return instance(config);
};
3.封装js导入实例
// 3.1举例我要请求首页数据--创建关于首页所有的网络请求数据js--home.js
// 3.2导入封装的实例
import { request } from './request.js';
// 3.3导出对应数据请求的方法
export function getGoods(id) {
return request({
// 这里配置的是对应的网络请求
url: '/home/data',
// 这里是携带的参数
params: {
id
}
})
}
4.接收数据
// 4.1在data中定义一个接收数据的参数
data() {
return {
goods: []
}
}
// 4.2在methods中多封装一层函数
homeGoods() {
// 通过.then获取数据
getHomeGoods(id).then(res => {
// 给data中的goods保存数据--现在goods中就有了数据了
this.goods = red.data.XXXX
})
}
// 4.3在created中调用方法即可
created () {
this.homeGoods();
}
// 自己就可以直接展示相关数据了
// 如果自身展示:{{ goods }}
// 如果传给子组件让子组件使用,子组件通过props接收父组件传递的信息