vue3挂载axios挂载全局方法

vue3中在

javascript 复制代码
// main.js

import axios from "axios";
app.provide("$axios", axios);

app.mount("#app");
javascript 复制代码
// Home.vue
import {  inject } from "vue";
const http = inject("$axios");

const getUser = () => {
  http
    .post(
      "/getEmployeeBaseInfo",
      {
        empNumber: "12345",
      },
      { headers: { "Content-Type": "application/x-www-form-urlencoded" } }
    )
    .then(function (response) {
      console.log(response);
    })
    .catch(function (error) {
      console.log(error);
    })
    .finally(function () {
      // 总是会执行
    });
};

provideinject 主要为高阶插件/组件库提供用例。

并不推荐直接用于应用程序代码中。

定义说明:这对选项是一起使用的。以允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在起上下游关系成立的时间里始终生效。

通俗的说就是:组件得引入层次过多,我们的子孙组件想要获取祖先组件得资源,那么怎么办呢,总不能一直取父级往上吧,而且这样代码结构容易混乱。这个就是这对选项要干的事情。

provide:是一个对象,或者是一个返回对象的函数。里面呢就包含要给子孙后代的东西,也就是属性和属性值。

inject :一个字符串数组,或者是一个对象。属性值可以是一个对象,包含from和default默认值。

一句话介绍:provide可以向所有子孙组件提供数据以及提供修改数据的方法,子孙组件用inject使用数据。

相关推荐
IT_陈寒13 分钟前
SpringBoot性能翻倍秘籍:从自动配置到JVM调优的7个实战技巧
前端·人工智能·后端
叮咚前端25 分钟前
vue3笔记
前端·javascript·笔记
薛定谔的算法41 分钟前
面试官问箭头函数和普通函数的区别?这才是面试官最想听到的
前端·javascript·面试
pepedd86442 分钟前
AI Coding 最佳实践-从零到一全栈项目编写
前端·aigc·trae
砂糖橘加盐42 分钟前
非 AI 时代前端是如何设计一个组件的
前端·javascript·vue.js
艾小码1 小时前
告别JavaScript类型转换的坑:从隐式陷阱到显式安全指南
前端·javascript
LEAFF1 小时前
性能优化工具Lighthouse操作指南
前端
Cache技术分享1 小时前
176. Java 注释 - 类型注释和可插入类型系统
前端·后端
粥里有勺糖1 小时前
视野修炼-技术周刊第125期 | nano-banana
前端·github·aigc
菠萝+冰1 小时前
手机上访问你电脑上的前端项目
前端·智能手机