Vue3使用全局函数或变量的两种常用方式

这篇具有很好参考价值的文章主要介绍了Vue3使用全局函数或变量的两种常用方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

例如:想要在index.ts中创建getAction函数,并可以全局使用:

import { http } from '@/utils/axios'
export function getAction (url: string, params: object) {
  return http.request({
    url: url,
    method: 'get',
    params: params
  })
}

方式一:使用依赖注入(provide/inject)

在main.ts中进行挂载:

import { createApp } from 'vue'
import App from './App.vue'

const app = createApp(App)
import { getAction } from 'index'
app.provide('getAction', getAction) // 将getAction方法挂载到全局

app.mount('#app')

在要使用的页面注入:

<script setup lang="ts">
import { inject } from 'vue'
const getAction: any = inject('getAction')
</script>

方式二:使用 app.config.globalProperties 和 getCurrentInstance()

  • app.config.globalProperties:一个用于注册能够被应用内所有组件实例访问到的全局属性的对象
  • getCurrentInstance():// 获取当前实例,类似于vue2的this
import { createApp } from 'vue'
import App from './App.vue'

const app = createApp(App)
import { getAction } from 'index'
app.config.globalProperties.$getAction = getAction

app.mount('#app')

 在要使用的页面中使用:文章来源地址https://www.toymoban.com/news/detail-524734.html

<script setup lang="ts">
import { getCurrentInstance } from 'vue'
const { proxy }: any = getCurrentInstance()
console.log('proxy:', proxy)
console.log('getAction:', proxy.$getAction)
</script>

到了这里,关于Vue3使用全局函数或变量的两种常用方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue3之app.config.globalProperties(定义全局变量)

    注意:如果全局属性与组件自己的属性冲突,组件自己的属性将具有更高的优先级。 1、创建一个文件(通过useGlobelProperties获取全局属性) 2、在main.ts中(配置全局属性) 3、任意组件中的使用 打印所得:   可以看到我们上面定义的name可以拿到,后续想要什么全局配置,可

    2024年02月15日
    浏览(26)
  • 【MySQL】MySQL版本8+ 窗口函数 Lead 的两种使用

    1709. 访问日期之间最大的空档期 表:UserVisits Column Name Type user_id int visit_date date 该表没有主键,它可能有重复的行 该表包含用户访问某特定零售商的日期日志。 假设今天的日期是 ‘2021-1-1’ 。 编写解决方案,对于每个 user_id ,求出每次访问及其下一个访问(若该次访问是最

    2024年01月22日
    浏览(35)
  • 使用Vue脚手架配置代理服务器的两种方式

    本文主要介绍使用Vue脚手架配置代理服务器的两种方式 注意:Vue脚手架给我们提供了两种配置代理服务器的方式,各有千秋,使用的时候只能二选一,不能同时使用 除了cros和jsonp,还有一种代理方式,这种用的相对来说也很多, 一般代理服务器 这个概念很好理解,相当于生

    2024年02月02日
    浏览(62)
  • JavaScript判断变量是否为undefined的两种写法

    可以使用 typeof 操作符来判断一个变量是否为 undefined 类型 也可以使用严格相等运算符 === 来判断一个变量是否为 undefined 注意: 不要使用 == 运算符来判断一个变量是否为 undefined 因为它会在比较之前进行 类型转换 ,可能导致意外的结果。 如果要判断一个变量是否未定义(既

    2024年02月14日
    浏览(36)
  • 【Vue】全局变量的定义及使用

    首先 声明Vue 使用全局变量的方法有很多,以下只是个人觉得比较简洁的2种。其中两者的第一步操作相同,即: 方法1:在main.js中直接将全局变量挂载到Vue.prototype 用时不用任何多余操作,直接调用 this.GLOBAL.name 即可。 方法2:在需要使用全局变量的页面引入global再使用

    2024年02月12日
    浏览(45)
  • 使用XLua在Unity中获取lua全局变量和函数

    1、Lua脚本  入口脚本 测试脚本 2、C#脚本 (1)获取全局变量 执行结果 (2)获取全局函数

    2024年02月07日
    浏览(35)
  • 【linux 多线程并发】线程本地数据存储的两种方式,每个线程可以有同名全局私有数据,以及两种方式的性能分析

    ​ 专栏内容 : 参天引擎内核架构 本专栏一起来聊聊参天引擎内核架构,以及如何实现多机的数据库节点的多读多写,与传统主备,MPP的区别,技术难点的分析,数据元数据同步,多主节点的情况下对故障容灾的支持。 手写数据库toadb 本专栏主要介绍如何从零开发,开发的

    2024年02月03日
    浏览(33)
  • Vue3 全局路由的使用

    一. App.vue 二. main.js 三. /router/index.js

    2024年02月10日
    浏览(33)
  • vue3 使用全局svg

    vite-plugin-svg-icos -D  包 不行就再安装 fast-glob -D main 引入 import \\\'virtual:svg-icons-register\\\' import SvgIcon from \\\'@/components/SvgIcon\\\' src 同级目录新建vite文件夹下的 plugins 文件夹 建一个svg-icon.js    和index.js 文件   在vite.config.js文件里  main.js 中注册 app.component(\\\'svg-icon\\\', SvgIcon) component文件新

    2024年02月08日
    浏览(30)
  • vue3中,form表单校验之特殊字符校验、手机号、身份证号、百分制数字 & route和router的写法 & setup的两种用法 & rules中校验之blur和change

    vue3中,form表单校验之特殊字符校验、手机号、身份证号、百分制数字 route和router的写法 setup的两种用法 rules中校验之blur和change 1、写法一 index.vue 2、写法二完整版 index.vue 2、校验文件 srcutilsvalidate.ts

    2024年02月05日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包