vue中拆分封装axios
发布日期:2021-06-30 15:09:50 浏览次数:3 分类:技术文章

本文共 1754 字,大约阅读时间需要 5 分钟。

1、在src目录下建network文件用于配置axios`。

2、在network里面先建一个config.js文件

export const GET="get";   //定义并导出GET请求export const POST="post";  //定义并导出POST请求export const path={
//定义路由对象并抛出 list:"/small4/user/detail", //定义路由(多级路由与core中axios中的路由拼接),调用谁拼接谁}

3、在network中建一个core.js文件

import {
GET,POST} from "./config"; //导入configimport axios from "axios"; //安装axios并引入const instance =axios.create({
//创建一个拥有通用配置(如:路由等)axios实例 baseURL:"https://api.it120.cc" //通用路由与config里的多级路由拼接}); export function request(method,url,params){
//封装一个函数并导出,类似于this.$axios.get(url,{}) switch(method){
//switch语句判断是get还是poat请求 case GET: //如果是get就调用下面封装的get请求并返回 return get(url,params) case POST: //post return post(url,params) }};function get(url,params){
//封装get请求 return instance.get(url,params) //调用上面axios实例并return返回};function post(url,params){
//封装post请求 return instance.get(url,params)};

4、在network中建一个index.js文件

import {
request} from "./core" //导入coreimport {
GET,POST,path} from './config' //导入configconst network={
//声明一个对象 getStoreList(params){
return request(GET,path.list,params)} //自定义事件名 调用core中的request函数发送get请求,path.list是调用config里的多级路由}export default network //抛出network对象 在main.js里接收全局引入

5、在main.js里接收全局引入

import network from './network/index'  //全局引入在那都能调用Vue.prototype.$network=network

6、之后就可以在组件中调用了

mounted() {
this.$network //调用network中的getStoreList({参数--用于传给params}) .getStoreList({
page: 1, pageSize: 2 }) .then(res => {
console.log(res); }) .catch(err => {
console.log(err); }); }

转载地址:https://jiangwenxin.blog.csdn.net/article/details/107007380 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:如何在gitee上提交vue项目
下一篇:js中的冒泡排序

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月21日 21时49分54秒