首页 > 其他分享 >Vue3通过provide/inject设置全局变量

Vue3通过provide/inject设置全局变量

时间:2024-03-01 16:05:02浏览次数:26  
标签:provide Vue3 使用 globalVar API inject globalVariable 全局变量

在 Vue 3 中,你可以使用组合 API 来注入和使用全局变量。组合 API 提供了一种更灵活的方式来组织和重用组件逻辑,包括全局状态的管理。

以下是在 Vue 3 中使用组合 API 来注入和使用全局变量的基本步骤:

  1. 创建全局变量: 在一个单独的文件中,创建全局变量并导出它,使其可在整个应用中使用。
// globalVariables.js

import { ref } from 'vue';

export const globalVariable = ref('Global Variable Value');
  1. 在组件中使用全局变量: 在需要访问全局变量的组件中使用 inject 方法将全局变量注入,并通过组合 API 的 provide 方法提供该全局变量。
// YourComponent.vue

<template>
  <div>
    <p>Global Variable: {{ globalVar }}</p>
  </div>
</template>

<script>
import { inject, onMounted } from 'vue';
import { globalVariable } from './globalVariables.js';

export default {
  setup() {
    const globalVar = inject('globalVariable', globalVariable);

    onMounted(() => {
      console.log('Global Variable:', globalVar);
    });

    return {
      globalVar
    };
  }
};
</script>

在上面的示例中,我们将全局变量 globalVariable 提供给了组件,并在组合 API 的 setup 函数中使用 inject 方法将其注入,然后可以在模板中直接使用。同时,在 onMounted 钩子中输出了全局变量的值。

标签:provide,Vue3,使用,globalVar,API,inject,globalVariable,全局变量
From: https://www.cnblogs.com/crispyChicken/p/18047265

相关文章

  • Vue3组件库搭建及测试
    一、搭建Vite环境1.创建目录&初始化包配置&安装Vite依赖mkdirgresgying-uicdgresgying-uinpminitnpmivite-D2.根目录创建index.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Gresgyi......
  • vue3——环境变量的配置
    vue3环境变量的配置开发环境(development)测试环境(testing)生产环境(production)项目根目录分别添加开发、生产和测试环境的文件!.env.development.env.production.env.test文件内容变量必须以VITE_为前缀才能暴露给外部读取NODE_ENV='development'VITE_APP_TITLE=......
  • vue3笔记 computed计算属性
    计算属性有缓存的,方法没有缓存下列的计算案例是只读的,不可修改的 上述代码为只读属性,优化后<scriptsetuplang="ts">import{ref,computed}from'vue'letname=ref("zhang")letxing=ref("sang")console.log(name.value)letfullName=compute......
  • vue3 echart组件封装
    项目中用到了很多echart图表,进行了简单的组件封装,主要包含以下功能:创建图表实例,渲染图表支持传入自定义函数,可拿到图表实例,实现个性化功能支持配置更新后图表自动刷新,可配置是清空后再刷新loading状态控制resize时图表更新支持饼图默认高亮功能实现资源引入echart资源......
  • 基于Vue(提供Vue2/Vue3版本)和.Net Core前后端分离、强大、跨平台的快速开发框架
    前言今天大姚给大家推荐一款基于Vue(提供Vue2/Vue3版本)和.NetCore前后端分离、开源免费(MITLicense)、强大、跨平台的快速开发框架,并且框架内置代码生成器(解决重复性工作,提高开发效率),支持移动端(iOS/Android/H5/微信小程序):Vue.NetCore。提高开发生产效率、避免996可以考虑试试这......
  • Vue3 配合 Element-Plus 和 iframe-resizer 完美实现抽屉 Drawer 和 iframe
    环境准备pnpminstallvuelodashelement-plusiframe-resizerpnpminstall@types/iframe-resizer-Diframe新建文件src/utils/directives/iframeResize.ts​import{Directive,DirectiveBinding,nextTick}from"vue"importiframeResizefrom"iframe-r......
  • Vue3学习(二十)- 富文本插件wangeditor的使用
    写在前面学习、写作、工作、生活,都跟心情有很大关系,甚至有时候我更喜欢一个人独处,戴上耳机coding的感觉。明显现在的心情,比中午和上午好多了,心情超棒的,靠自己解决了两个问题:新增的时候点击TreeSelect控件控制台会给出报错分类新增和编辑时,报错父类和电子书iD不能为空的问题......
  • vue3router
    4.路由4.1.【对路由的理解】4.2.【基本切换效果】Vue3中要使用vue-router的最新版本,目前是4版本。路由配置文件代码如下:import{createRouter,createWebHistory}from'vue-router'importHomefrom'@/pages/Home.vue'importNewsfrom'@/pages/News.vue'importAb......
  • vue3笔记
    2.3.【一个简单的效果】Vue3向下兼容Vue2语法,且Vue3中的模板中可以没有根标签<template> <divclass="person">  <h2>姓名:{{name}}</h2>  <h2>年龄:{{age}}</h2>  <button@click="changeName">修改名字</button>  <button......
  • vue3笔记1
    4.4.【路由器工作模式】history模式优点:URL更加美观,不带有#,更接近传统的网站URL。缺点:后期项目上线,需要服务端配合处理路径问题,否则刷新会有404错误。constrouter=createRouter({history:createWebHistory(),//history模式/******/})hash模式优点:兼容性......