当前位置:首页 » 《资源分享》 » 正文

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

28 人参与  2024年03月26日 15:31  分类 : 《资源分享》  评论

点击全文阅读


例如:想要在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 = getActionapp.mount('#app')

 在要使用的页面中使用:

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

点击全文阅读


本文链接:http://zhangshiyu.com/post/85976.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1