IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue之axios的封装 -> 正文阅读

[JavaScript知识库]vue之axios的封装

1.为什么需要封装axios?
当我们改变项目的使用环境时候,url也会随之改变,那么我们就需要改很多axios请求中的url配置
现在我们将axios封装,在项目使用环境改变时我们只用改变axios封装方法中的baseurl一项就行了,请求的接口地址不变。

2.Axios的封装方式

????????1.执行安装axios命令: ?npm i axios
????????2.对axios进行简单的封装
?? ?????????1.在src文件夹下创建utils文件夹,在utils文件夹下 创建request.js ? 并导出

import axios from "axios";//创建一个axios的对象
//生成一个axios的实例
const http=axios.create({
	baseURL:"http://www.xxx.top:8080/",// baseURL会在发送请求的时候拼接在url参数前面
	timeout:3000,//请求超时
});
export default http;//导出

? ? ? ? ?? ?2.在src文件夹下创建api文件夹,api文件夹下 ?创建index.js

//导入request.js
import request from "@/utils/request";//@==>src
//可以按需导出
//获取商品列表  方法一  返回一个请求的方法
export const getProduct=(params)=>request.get("/product/",{params});
//获取商品详情
export const getProductDetail=(id)=>request.get(`/product/${id}`);
//方法二 在api文件里出来异步请求
export const getCategory=async()=>{
	const res=await request.get(`/category/`);
	return res.data.results;
	};

3.在vue页面使用

? ? ? ? 1.在script标签中引入api文件,可以按需导入所需使用的方法

? ? ? ? ? ? ?import {getProduct} from "@/api//默认是api文件夹下的index.js文件

? ? ? ? 2.使用getProduct方法获取数据

            async _getProductList(){
				const res=await getProduct();
				this.productList=res.data.results;
				// console.log(res.data.results);
			},

有参数时:

const _getProductList=async()=>{
		const res=await getProduct({
			page:page.value,
			size:size.value,
			...query.value,//{key:"衣服"}
		});
		this.productList=res.data.results;
	}

方法2:

1.引入api文件import {getCategory} from '@/api';

2.使用getCategory方法

const _getCategory=async()=>{
		this.categoryTree=await getCategory();
	}

补充:

一、配合element-plus使用

使用步骤:

1.安装element-plus命令: ? npm i element-plus
2.在main.js中导入相关模块

import ElementPlus from 'element-plus'

//import zhCn from 'element-plus/es/locale/lang/zh-cn';//中文
3.在main.js中 ?注册使用 ?app.use()?

?//app.use(ElementPlus);
??app.use(ElementPlus, {
? locale: zhCn,
});

二、初始化css样式

1.执行初始化样式指令:npm i normalize.css

2.在main.js中引入:import "normalize.css"

或通过cdn在index.html中引入

组件内的局部样式
1编译组件的模板时,会给这个组件模板中的所有标签上添加一个自定义属性,自定义属性有一个组件唯一的hash
2局部样式,编译时会在选择器规则添加属性选择器
3:deep原理就是给对应选择器规则不要直接添加属性选择器,而是作为属性选择器的后代选择器
?? ?:deep(img){display:block;}

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 18:55:10  更:2022-08-19 18:58:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:05:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码