vue2 全局变量的设置方法


Posted in Javascript onMarch 09, 2018

最近在学习VUE.js 中间涉及到JS全局变量,与其说是VUE的全局变量,不如说是模块化JS开发的全局变量。

1、全局变量专用模块

就是以一个特定模块来组织管理这些全局量,需要引用的地方导入该模块便好。

全局变量专用模块 Global.vue

<script type="text/javascript">
const colorList = [
 '#F9F900',
 '#6FB7B7',
 '#9999CC',
 '#B766AD',
 '#B87070',
 '#FF8F59',
 '#FFAF60',
 '#FFDC35',
 '#FFFF37',
 '#B7FF4A',
 '#28FF28',
 '#1AFD9C',
 '#00FFFF',
 '#2894FF',
 '#6A6AFF',
 '#BE77FF',
 '#FF77FF',
 '#FF79BC',
 '#FF2D2D',
 '#ADADAD'
]
const colorListLength = 20
function getRandColor () {
 var tem = Math.round(Math.random() * colorListLength)
 return colorList[tem]
}
export default
{
 colorList,
 colorListLength,
 getRandColor
}
</script>

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

需要使用全局变量的模块 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>
<style scoped type="text/css">
.projectItem
{
 margin: 5px;
 width: 200px;
 height: 120px;
 /*border:1px soild;*/
 box-shadow: 1px 1px 10px;
}
.projectItem a
{
 min-width: 200px;
}
.projectItem a span
{
 text-align: center;
 display: block;
}
</style>

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>

3、使用VUEX

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

以上这篇vue2 全局变量的设置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript学习笔记4 Eval函数
Jan 11 Javascript
js 通用javascript函数库整理
Aug 14 Javascript
改进版通过Json对象实现深复制的方法
Oct 24 Javascript
使用jquery mobile做幻灯播放效果实现步骤
Jan 04 Javascript
js与jquery获取父级元素,子级元素,兄弟元素的实现方法
Jan 09 Javascript
JS常用函数使用指南
Nov 23 Javascript
javascript插件开发的一些感想和心得
Feb 28 Javascript
Vue.js每天必学之过渡与动画
Sep 06 Javascript
用vue写一个仿简书的轮播图的示例代码
Mar 13 Javascript
浅谈Angularjs中不同类型的双向数据绑定
Jul 16 Javascript
keep-alive不能缓存多层级路由菜单问题解决
Mar 10 Javascript
vue 动态设置img的src地址无效,npm run build 后找不到文件的解决
Jul 26 Javascript
JS扩展String.prototype.format字符串拼接的功能
Mar 09 #Javascript
详解ES6通过WeakMap解决内存泄漏问题
Mar 09 #Javascript
JavaScript实现微信号随机切换代码
Mar 09 #Javascript
AngularJS中重新加载当前路由页面的方法
Mar 09 #Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
Mar 09 #Javascript
vue+element-ui+ajax实现一个表格的实例
Mar 09 #Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
Mar 09 #Javascript
You might like
MYSQL环境变量设置方法
2007/01/15 PHP
基于PHP的简单采集数据入库程序【续篇】
2014/07/30 PHP
php实现图片转换成ASCII码的方法
2015/04/03 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
2015/10/19 PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
2015/12/15 PHP
yii2中添加验证码的实现方法
2016/01/09 PHP
php字符串的替换,分割和连接方法
2016/05/23 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
EXTJS FORM HIDDEN TEXTFIELD 赋值 使用value不好用的问题
2011/04/16 Javascript
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
在jQuery中 常用的选择器介绍
2013/04/16 Javascript
快速解决FusionCharts联动的中文乱码问题
2013/12/04 Javascript
js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
2014/01/27 Javascript
在JS数组特定索引处指定位置插入元素的技巧
2014/08/24 Javascript
JavaScript实现仿网易通行证表单验证
2015/05/25 Javascript
需灵活掌握的Bootstrap预定义排版类 你精通吗?
2016/06/20 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
2016/07/24 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
2017/02/13 Javascript
JS简单获得节点元素的方法示例
2018/02/10 Javascript
微信小程序实现tab左右切换效果
2020/11/15 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
2019/12/12 Javascript
Vue3+elementui plus创建项目的方法
2020/12/01 Vue.js
[00:33]2018DOTA2亚洲邀请赛TNC出场
2018/04/04 DOTA
Python正则表达式分组概念与用法详解
2017/06/24 Python
Python Django框架防御CSRF攻击的方法分析
2019/10/18 Python
Python argparse模块使用方法解析
2020/02/20 Python
为什么是 Python -m
2020/06/19 Python
css3新增颜色表示方式分享
2014/04/15 HTML / CSS
西班牙英格列斯百货英国官网:El Corte Inglés英国
2017/10/30 全球购物
党校培训思想汇报
2014/01/03 职场文书
如何写你的创业计划书
2014/01/07 职场文书
儿子婚宴答谢词
2014/01/09 职场文书
优秀家长自荐材料
2014/08/26 职场文书
暑期培训班招生方案
2014/08/26 职场文书
2014市国税局对照检查材料思想汇报
2014/09/23 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书