写在前面: 如题,在项目中,经常有些函数和变量是需要复用,比如说网站服务器地址,从后台拿到的:用户的登录token,用户的地址信息等,这时候就需要设置一波全局变量和全局函数,这两个设置不太难,而且有一些共通之处,可能有一些朋友对此不太了解,所以随便写出来分享一波。有需要的朋友可以做一下参考,喜欢的可以点波赞,或者关注一下,希望可以帮到大家。 定义全局变量 原理: 设置一个专用的的全局变量模块文件,模块里面定义一些变量初始状态,用export default 暴露出去,在main.js里面使用Vue.prototype挂载到vue实例上面或者在其它地方需要使用时,引入该模块便可。 全局变量模块文 在Vue项目中,全局变量和全局函数的定义是提高代码复用性和组织效率的重要手段。以下将详细讲解如何实现这两个功能。 ### 定义全局变量 #### 原理 创建一个专门的全局变量模块文件,例如`Global.vue`,在其中定义所需的变量并用`export default`导出。然后在`main.js`中,通过`Vue.prototype`将这些变量挂载到Vue实例上,以便在任何组件中都可以访问。 #### 实现步骤 1. 创建`Global.vue`文件: ```html <script> const serverSrc = 'www.baidu.com'; const token = '12345678'; const hasEnter = false; const userSite = "中国钓鱼岛"; export default { userSite, token, serverSrc, hasEnter } </script> ``` 2. 使用全局变量: - 方式1:在需要使用全局变量的组件中,导入`Global.vue`,然后通过`global_`访问变量。 ```javascript import global_ from '../../components/Global' export default { name: 'text', data() { return { token: global_.token } } } ``` - 方式2:在`main.js`中挂载`Global.vue`到`Vue.prototype`。 ```javascript import global_ from './components/Global' Vue.prototype.GLOBAL = global_ ``` 在任何组件中,你可以直接通过`this.GLOBAL`访问全局变量。 ### 定义全局函数 #### 原理 新建一个模块文件,比如`base.js`,然后在`main.js`中通过`Vue.prototype`将函数挂载到Vue实例上,通过`this.函数名`来调用。 #### 实现步骤 1. 创建`base.js`文件: ```javascript exports.install = function(Vue, options) { Vue.prototype.text1 = function() { alert('执行成功1'); }; Vue.prototype.text2 = function() { alert('执行成功2'); }; }; ``` 2. 在`main.js`中引入并注册全局函数: ```javascript import base from './base' Vue.use(base); ``` 3. 在组件中调用全局函数: ```javascript export default { name: 'text', methods: { callGlobalFunctions() { this.text1(); this.text2(); } } } ``` ### 使用Vuex管理全局状态 除了使用`Vue.prototype`,还可以利用Vuex来管理全局状态。Vuex是一个专为Vue.js应用程序开发的状态管理模式,它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。要使用Vuex,你需要创建一个store,并在其中定义状态、 mutations、actions和getters,然后在`main.js`中引入和使用。 ### 结语 以上就是如何在Vue项目中定义和使用全局变量和全局函数的方法。这些全局资源不仅限于Vue项目,它们可以应用于任何基于JavaScript的前端框架。通过合理地使用全局变量和函数,可以有效减少代码重复,提升项目的可维护性和扩展性。
- 粉丝: 3
- 资源: 946
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Linux nacos2.4.3压缩包
- C++20 规范,v s 2019 function 源码分析精简版
- html+css+js的宠物领养网站(响应式)
- go实现通过命令访问Kafka
- 数据中台(大数据平台)资源目录编制标准规范.pdf
- 极速浏览器(超快速运行)
- uniapp vue3 下拉菜单组件(dropdownMenu)
- 《全面解析图像平滑处理:多种滤波方法及应用实例》
- Kafka客户端producer/consumer样例
- OneOS是中国移动针对物联网领域推出的轻量级操作系统,具有可裁剪、跨平台、低功耗、高安全等特点,支持ARM Cortex-M/R/A、MIPS、RISC-V等主流CPU架构
- 1
- 2
前往页