VUE 全局变量的几种实现方式


Posted in Javascript onAugust 22, 2018

1、全局变量专用模块

意思是说,用一个模块(js or vue)管理这套全局变量,模块里的变量用export (最好导出的格式为对象,方便在其他地方调用)暴露出去,当其它地方需要使用时,用import 导入该模块

全局变量专用模块Global.vue

const colorList = [
 '#F9F900',
 '#6FB7B7',
]
const colorListLength = 20
function getRandColor () {
 var tem = Math.round(Math.random() * colorListLength)
 return colorList[tem]
}
export default
{
 colorList,
 colorListLength,
 getRandColor
}

模块里的变量用出口暴露出去,当其它地方需要使用时,引入模块全球便可。

需要使用全局变量的模块html5.vue

<template>
 <ul>
  <template v-for="item in mainList">
   <div class="projectItem" :style="'box-shadow:1px 1px 10px '+ getColor()">
     <router-link :to="'project/'+item.id">
      ![](item.img)
      <span>{{item.title}}</span>
     </router-link>
   </div>
  </template>
 </ul>
</template>
<script type="text/javascript">
import global from 'components/tool/Global'
export default {
 data () {
  return {
   getColor: global.getRandColor,
   mainList: [
    {
     id: 1,
     img: require('../../assets/rankIcon.png'),
     title: '登录界面'
    },
    {
     id: 2,
     img: require('../../assets/rankIndex.png'),
     title: '主页'
    }
   ]
  }
 }
}
</script>

2、全局变量模块挂载到Vue.prototype 里

Global.js同上,在程序入口的main.js里加下面代码

import global_ from './components/tool/Global'
Vue.prototype.GLOBAL = global_

挂载之后,在需要引用全局量的模块处,不需再导入全局量模块,直接用this就可以引用了,如下:

<script type="text/javascript">
export default {
data () {

return {
 getColor: this.GLOBAL.getRandColor,
 mainList: [
  {
   id: 1,
   img: require('../../assets/rankIcon.png'),
   title: '登录界面'
  },
  {
   id: 2,
   img: require('../../assets/rankIndex.png'),
   title: '主页'
  }
 ]
}
}
}
</script>

1和2的区别在于:2不用在用到的时候必须按需导入全局模块文件

3、vuex

Vuex是一个专为Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态。因此可以存放着全局量。因为Vuex有点繁琐,有点杀鸡用牛刀的感觉。认为并没有必要。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Package.js  现代化的JavaScript项目make工具
May 23 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
Feb 02 Javascript
JS解决url传值出现中文乱码的另类办法
Apr 08 Javascript
提取字符串中年月日的函数代码
Nov 05 Javascript
JavaScript中innerHTML,innerText,outerHTML的用法及区别
Sep 01 Javascript
Javascript点击其他任意地方隐藏关闭DIV实例
Jun 21 Javascript
js设置和获取自定义属性的方法
Oct 20 Javascript
React快速入门教程
Jan 17 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
Feb 22 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
Feb 28 Javascript
AngularJS 霸道的过滤器小结
Apr 26 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
Feb 15 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
Aug 22 #Javascript
基于vue.js中关于下拉框的值默认及绑定问题
Aug 22 #Javascript
微信小程序有旋转动画效果的音乐组件实例代码
Aug 22 #Javascript
vue2.0 下拉框默认标题设置方法
Aug 22 #Javascript
VUE中v-on:click事件中获取当前dom元素的代码
Aug 22 #Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
Aug 21 #jQuery
js动态设置select下拉菜单的默认选中项实例
Aug 21 #Javascript
You might like
星际玩家的三大定律
2020/03/04 星际争霸
PHP文件打开、关闭、写入的判断与执行代码
2011/05/24 PHP
PHP session会话操作技巧小结
2016/09/27 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
PHP curl批处理及多请求并发实现方法分析
2018/08/15 PHP
初学prototype,发个JS接受URL参数的代码
2006/09/25 Javascript
javascript编程起步(第一课)
2007/01/10 Javascript
jquery ajax 登录验证实现代码
2009/09/23 Javascript
jquery 弹出层注册页面等(asp.net后台)
2010/06/17 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
JS实现文字向下滚动完整实例
2015/02/06 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
Angular2环境搭建具体操作步骤(推荐)
2017/08/04 Javascript
Node.js 的模块知识汇总
2017/08/16 Javascript
微信小程序实现横向增长表格的方法
2018/07/24 Javascript
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
微信小程序 (地址选择1)--选取搜索地点并显示效果
2019/12/17 Javascript
js实现无缝轮播图特效
2020/05/09 Javascript
[00:15]天涯墨客终极技能展示
2018/08/25 DOTA
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
利用Python将数值型特征进行离散化操作的方法
2018/11/06 Python
利用PyQt5+Matplotlib 绘制静态/动态图的实现代码
2020/07/13 Python
python开发入门——列表生成式
2020/09/03 Python
俄罗斯眼镜网: optikaworld
2016/07/31 全球购物
英国汽车和货车租赁网站:Hertz英国
2016/09/02 全球购物
Linux内核的同步机制是什么?主要有哪几种内核锁
2016/07/11 面试题
总经理的岗位职责
2014/02/23 职场文书
党员公开承诺书范文
2014/03/25 职场文书
驾驶员安全责任书
2014/07/22 职场文书
年度优秀员工获奖感言
2014/08/15 职场文书
小区门卫岗位职责范本
2014/08/24 职场文书
党的群众路线教育实践活动个人整改措施落实情况
2014/11/04 职场文书
社区安置帮教工作总结2015
2015/05/20 职场文书
详解在SQLPlus中实现上下键翻查历史命令的功能
2022/03/18 SQL Server