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使用数据。

相关推荐
JavaGuide14 小时前
Claude Code + BrowserAct,夯爆了!一句话让 AI 帮你操控浏览器。
前端·后端·ai编程
七十二時_阿川14 小时前
Electron WebContents 完全指南:页面渲染、导航控制与安全实战
前端·electron
用户114818678948414 小时前
Vue 开发者快速上手 Flutter(五) -状态管理路径
前端
七十二時_阿川14 小时前
Electron 主进程和渲染进程如何通信?这篇讲清楚了
前端·electron
前端那点事14 小时前
Vue3+TS 封装高复用 ECharts 通用组件,自适应+防抖+主题切换,开箱即用
前端·vue.js
七十二時_阿川14 小时前
从零到精通:Electron 窗口管理高级技巧
前端·electron
前端那点事14 小时前
Vue3+TS动态路由终极方案|后端权限、刷新不丢、按钮权限、解决所有404BUG
前端·vue.js
前端那点事14 小时前
Vue3+TS手写不定高虚拟列表Hooks,彻底解决长列表卡顿,生产直接复用
前端·vue.js
ZC跨境爬虫14 小时前
跟着 MDN 学 HTML day_61:(构建反馈表单的结构化挑战)
前端·javascript·ui·html·音视频
卷帘依旧14 小时前
Vue2中defineProperty缺陷
前端