当自己尝试用vue3开发项目时候遇到需要全局变量使用时候怎么办?vue2处理很简单在原型链上使用挂载
api.js

import http from './http'//拦截器
const api = {async getUserInfo(params){return await http.post('/getUserInfo',{...param})}
}
export const ApiPlugin = {install(Vue){Vue.prototype.$http = api}
}

main.js

import Vue from 'vue'
import {ApiPlugin} from '@/api'
Vue.use(ApiPlugin)

但是到了vue3无法直接在原型链上直接挂载自定义属性
百度有很多推荐main.js中:通过app.config.globalProperties将组件或者方法、变量挂载在全局,这种方法个人很用不惯,在未读源码时候不知道这个globalProperties会有啥问题。
这里就是用一个vue2也有的方法provide/inject,vue3也一样可以使用。
使用方法就是在通过provide/inject发放到全局都使用这个变量。
还是一样先定义接口文件
api.js

import http from "./http";export const api = {async getUserInfo(){return await http.get('/userInfo')}
}

main.js

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import { api } from "@/api/index";
onst app = createApp(App)
app.use(store).use(router).mount('#app')
app.provide('api', api);//全局发送api

任何一个子组件
child.js

<script>
import { useStore } from "vuex";
import { inject, onBeforeMount, ref } from "vue";
export default {name: 'Child',setup(props) {const $http = inject('api')onBeforeMount(async() => {const res = await $http.getUserInfo()console.log(res);//...其余操作})},
}
</script>

vue3全局变量定义使用相关推荐

  1. vue3全局变量定义及使用

    定义全局变量 const app = createApp({}) app.config.globalProperties.$http = () => {} 全局变量使用 const { prox ...

  2. python全局变量定义_Python 3 实现定义跨模块的全局变量和使用

    尽管某些书籍上总是说避免使用全局变量,但是在实际的需求不断变化中,往往定义一个全局变量是最可靠的方法,但是又必须要避免变量名覆盖. Python 中 global 关键字可以定义一个变量为全局变量,但 ...

  3. vue3之定义数据(Ref全家桶)

    目录 vue3之定义数据 只是用于展示的数据(非响应式数据) 响应式数据 (Ref全家桶) 定义简单数据类型 判断是否为 ref对象(定义为响应式数据对象) shallowRef 定义简单数据类型的响 ...

  4. C语言全局变量定义方法

    C语言全局变量定义方法 今天调试系统的时候,需要定义几个全局位变量,定义好后一编译,发现错误一大堆,错误基本都是位变量定义时产生的.以前也定义过全局变量啊,但是先前怎么没错误?瞎折腾了一会最后还是发现 ...

  5. thymeleaf全局变量定义

    thymeleaf全局变量定义 1. 重写configureViewResolvers方法 /*** @author : fzz*/ @Component public class WebMvcCon ...

  6. 一、初识kotlin之全局变量定义(kotlin学习笔记)

    文章目录 语法区别 全局变量定义区别 语法区别 kotlin与java在定义参数上的区别,如下全局变量的定义,请通过名称对应,同一个名称在kotlin中出现多次表示这个变量有多种定义方式 全局变量定义 ...

  7. vue3 如何定义全局变量

    在vue2中,我们知道vue2.x是使用Vue.prototype.$xxxx=xxx来定义全局变量,然后通过this.$xxx来获取全局变量. 但是在vue3中,这种方法显然不行了.因为vue3中在 ...

  8. 全局变量定义的时候左侧加了static_c语言中static 用法

    static在c里面可以用来修饰变量,也可以用来修饰函数. 先看用来修饰变量的时候.变量在c里面可分为存在全局数据区.栈和堆里.其实我们平时所说的堆栈是栈而不是堆,不要弄混. int a ; int ...

  9. C语言中的全局变量定义与使用

    1.  书中对'全局变量'的定义 在函数内定义的变量是局部变量,而在函数外定义的变量叫做外部变量,外部变量是全局变量.全局变量可以为本文件中其他函数所共用它的有效范围从定义变量的位置开始到本源文件结束 ...

最新文章

  1. python安装包-Python安装包+安装教程
  2. 数据存储Data Storage
  3. 在线安装php,CentOS在线安装PHP|dayblog-天天博客|PHP交流,PHP技术,PHP博客,博客交流,dayblog,blog,天天博客...
  4. 去Oracle不仅是BAT的事,AWS彻底去O
  5. DNS 解析过程详解
  6. mysql join 原理 简书_mysql-join
  7. Framework4.0 IIS7下urlrewriter设置问题
  8. win11安装linux双系统
  9. 你一定不知道的 AppStore 秘密
  10. mui项目php,基于h5+的app 开发介绍、hui、mui介绍、项目部署
  11. 数学建模番外篇1:PPT绘制3D图形
  12. 思考犹太家庭如何教育出这么多精英及富豪
  13. 基于MATLAB的运动模糊图像恢复技术
  14. centos7 Qt5.9.1 ucal_close_53错误解决
  15. preLaunchTask“C/C++:g++.exe生成活动文件“已终止,退出代码为-1
  16. 为什么产品经理都在考PMP?一文透析
  17. Android近距离通信
  18. 亚马逊平台:华人卖家“很牛”!
  19. ftp服务器文件能预览吗,ftp服务器 文件预览
  20. AVS+标准应用现状

热门文章

  1. ubuntu美化及解决使用zsh后无法运行ROS
  2. java五星好评点评器_JavaScript实现商品评价五星好评
  3. 微信生成二维码 PHP
  4. C++HANDLE的理解
  5. 双重差分模型能做固定效应吗_Stata:双重差分的固定效应模型 (DID)
  6. python调整图片大小reshape_scipy.misc.imresize改变图像的大小
  7. Visual Studio 2019 (VS2019)安装Spy++工具
  8. 平安科技Java开发三面面经(2018年12月)
  9. 为什么css放头部、js放尾部
  10. 华为ENSP之防火墙双机热备