当前位置:首页 > VUE

vue实现全局变量

2026-03-26 22:59:33VUE

Vue 2 实现全局变量

在 Vue 2 中,可以通过 Vue 的原型链或 Vuex 状态管理实现全局变量。

原型链方式
通过 Vue.prototype 挂载全局变量,所有组件实例均可访问:

// main.js
Vue.prototype.$globalVar = '全局变量值';

// 组件中使用
this.$globalVar;

Vuex 方式
适用于需要响应式更新或复杂状态管理的场景:

// store.js
export default new Vuex.Store({
  state: {
    globalVar: '初始值'
  }
});

// 组件中使用
this.$store.state.globalVar;

Vue 3 实现全局变量

Vue 3 推荐使用 provide/inject 或全局状态管理库(如 Pinia)。

provide/inject 方式
在应用顶层提供变量,子组件注入使用:

// main.js
import { createApp } from 'vue';
const app = createApp(App);
app.provide('globalVar', '全局值');

// 子组件中使用
import { inject } from 'vue';
const globalVar = inject('globalVar');

Pinia 方式
Vue 3 官方推荐的状态管理工具:

// stores/global.js
import { defineStore } from 'pinia';
export const useGlobalStore = defineStore('global', {
  state: () => ({ globalVar: '值' })
});

// 组件中使用
import { useGlobalStore } from '@/stores/global';
const store = useGlobalStore();
store.globalVar;

注意事项

  1. 响应式更新
    若需变量响应式更新,优先使用 Vuex/Pinia 或 Vue 3 的 ref/reactive

  2. 命名规范
    通过原型链挂载的变量建议以 $ 开头(如 $globalVar),避免命名冲突。

  3. 类型安全
    Vue 3 结合 TypeScript 时,可为 provide/inject 声明类型:

    vue实现全局变量

    app.provide<string>('globalVar', '值');
    const globalVar = inject<string>('globalVar');

标签: 全局变量vue
分享给朋友:

相关文章

vue实现拼音搜索

vue实现拼音搜索

实现拼音搜索的基本思路 拼音搜索的核心是将中文转换为拼音,并在用户输入拼音时匹配对应的中文内容。Vue中可以通过集成拼音转换库(如pinyin或pinyin-pro)实现这一功能。 安装拼音转换库…

vue交互实现

vue交互实现

Vue 交互实现方法 Vue.js 提供了多种方式实现用户交互,包括事件处理、表单绑定、动态渲染等。以下是常见的交互实现方法: 事件处理 通过 v-on 或 @ 指令绑定事件,触发方法或直接执行表达…

jq 实现 vue

jq 实现 vue

jq 实现 Vue 的核心功能 jq 是一个轻量级的 JavaScript 库,主要用于 DOM 操作和事件处理。虽然它不能完全替代 Vue,但可以通过一些技巧模拟 Vue 的核心功能,如数据绑定、事…

ssh vue 实现

ssh vue 实现

使用SSH连接Vue项目部署的服务器 在Vue项目开发或部署过程中,可能需要通过SSH连接到远程服务器进行配置或维护。以下是实现SSH连接并部署Vue项目的关键步骤: 生成SSH密钥对 在本地终端运…

vue 实现过滤

vue 实现过滤

Vue 实现过滤的方法 在 Vue 中实现过滤功能可以通过多种方式完成,包括使用计算属性、自定义过滤器、第三方库等。以下是几种常见的实现方法: 使用计算属性进行过滤 计算属性是 Vue 中最常用的过…

vue滚动实现

vue滚动实现

Vue 滚动实现方法 使用原生滚动 在 Vue 中可以通过 ref 获取 DOM 元素,调用原生滚动方法实现滚动效果。适用于简单场景。 <template> <div ref=…