vue2的全局变量的设置
最近在学习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">

<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有点繁琐,有点杀鸡用牛刀的感觉。认为并没有必要。
链接:vuex官方介绍
vue2的全局变量的设置的更多相关文章
- 微信小程序全局变量的设置、使用、修改
1. 全局变量的设置 在miniprogram > app.js 文件中设置,globalData对象就是存储全局变量的. App({ globalData: { hasLogin: false ...
- cookies如何成为全局变量以及设置,删除,获取
(一)cookie机制将信息存储于用户硬盘,因此可以作为全局变量 (1)保存用户登录状态.例如将用户id存储于一个cookie内,这样当用户下次访问该页面时就不需要重新登录了,现在很多论坛和社区都提供 ...
- kettle中全局变量的设置
设置全局变量. 找到.properties文件: 在文件中设置值: 在kettle中新建一个job(不用做任何设置): 转换中获取便元的设置: 重启kettle的执行结果:
- postman简单教程-环境变量,全局变量的设置及作用
讲postman环境变量设置之前,先讲一个小插曲,环境变量.全局变量的区别在于Globals,只能用一组,而Environmen可以设置多组,所以我更喜欢设置环境变量 1.环境变量-Environme ...
- 【全局变量】mysql查看全局变量以及设置全局变量的值
1.查看mysql的所有全局变量的值 SHOW GLOBAL VARIABLES 或者 SHOW VARIABLES mysql有很多全局变量,包括系统的一些基本信息,以及mysql的一些基本配置都可 ...
- postman接口测试之设置全局变量和设置环境变量和全局变量
一.概念 1.环境变量 就是接口的域名或IP地址. 2.全局变量 就是一个作用域为整个postman的变量. 二.使用场景 1.环境变量 在测试的过程中,经常会频繁切换环境,本地环境验证.发布到测试环 ...
- Adobe Edge Animate –EdgeCommons Log和全局变量设置功能
Adobe Edge Animate –EdgeCommons Log和全局变量设置功能 版权声明: 本文版权属于 北京联友天下科技发展有限公司. 转载的时候请注明版权和原文地址. 一.Log功能 当 ...
- 跟我学AngularJS:全局变量设置之value vs constant vs rootscope vs 服务[转]
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文要讲讲Angular中value vs. constant以及全局变量的设置 本教程 ...
- postman设置环境变量、全局变量
讲postman环境变量设置之前,先讲一个小插曲,环境变量.全局变量的区别在于Globals,只能用一组,而Environmen可以设置多组,所以我更喜欢设置环境变量 1.环境变量-Environme ...
随机推荐
- Linux高级权限管理
传统的UGO(rwx-wx-wx)权限模型,无法解决当多个组需要对一个文件执行某些权限的问题. ACL :访问控制列表access control list一种高级的权限机制,允许我们对文件或者文件夹 ...
- vue 通信方式汇总
1.10种通信方式 10种:https://juejin.im/post/5bd18c72e51d455e3f6e4334 2.除此之外,还有children和ref. 需要注意 $children ...
- Java 基础【12】 日期类型
java api中日期类型的继承关系 java.lang.Object --java.util.Date --java.sql.Date --java.sql.Time --java.sql.Time ...
- bazel、tensorflow_serving、opencv编译问题
1.出现该错误表示opencv冲突,该机器上有多个opencv版本. 解决方法:卸载低版本opencv 2.bazel中BUILD的写法: copts中放置-I/usr/include/.-D lin ...
- java 类名.class、object.getClass()和Class.forName()的区别 精析
1.介绍 getClass()介绍 java是面向对象语言,即万物皆对象,所有的对象都直接或间接继承自Object类: Object类中有getClass()方法,通过这个方法就可以获得一个实 ...
- CMake 基本用法--写CMakeList.txt
http://techbase.kde.org/Development/Tutorials/CMake_(zh_CN) http://www.cmake.org/Wiki/CMake 这一章将从软件开 ...
- [Done]Spring @Pointcut 切点调用不到(SpringAOP嵌套方法不起作用) 注意事项
今天在开发过程中,遇到一个问题卡了很久,测试代码如下: package spring.pointcut; import org.aspectj.lang.ProceedingJoinPoint; im ...
- eclipse+cdt+cygwin做C++
eclipse一个很优秀的IDE,使用它做JAVA已经快两年了.最近准备学习C++,虽然是在WINDOWS平台,但是我不想用Visual studio,因为这个IDE只能在WINDOWS下,如果换成L ...
- CreateThread、_beginthreadex和AfxBeginThread .
创建线程好几个函数可以使用,可是它们有什么区别,适用于什么情况呢?参考了一些资料,写得都挺好的,这里做一些摘抄和整合. [参考1]CreateThread, AfxBeginThread,_begin ...
- Android基于TCP的局域网聊天通信
概述 在同一局域网内,两台设备通过TCP进行通信聊天. 详细 代码下载:http://www.demodashi.com/demo/10567.html 一.准备工作 开发环境 jdk1.8 Ecli ...