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 相关文章推荐
漂亮的提示信息(带箭头)
Mar 21 Javascript
extjs 为某个事件设置拦截器
Jan 15 Javascript
Javascript 浮点运算精度问题分析与解决
Mar 26 Javascript
Bootstrap每天必学之附加导航(Affix)插件
Apr 25 Javascript
javascript面向对象程序设计高级特性经典教程(值得收藏)
May 19 Javascript
深入理解(function(){... })();
Aug 16 Javascript
vue移动端路由切换实例分析
May 14 Javascript
对VUE中的对象添加属性
Sep 18 Javascript
Angular6 用户自定义标签开发的实现方法
Jan 08 Javascript
JavaScript偏函数与柯里化实例详解
Mar 27 Javascript
解决vue路由name同名,路由重复的问题
Aug 05 Javascript
token 机制和实现方式
Dec 15 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
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
深入php self与$this的详解
2013/06/08 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
自己的js工具 Event封装
2009/08/21 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
JavaScript中的继承方式详解
2015/02/11 Javascript
JavaScript统计网站访问次数的实现代码
2015/11/18 Javascript
jQuery Validation PlugIn的使用方法详解
2015/12/18 Javascript
JavaScript事件详细讲解
2016/06/27 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
Jquery Easyui进度条组件Progress使用详解(8)
2020/03/26 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
vue.js 实现图片本地预览 裁剪 压缩 上传功能
2018/03/01 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
2018/09/14 Javascript
Vue绑定内联样式问题
2018/10/17 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
2018/12/14 Javascript
压缩包密码破解示例分享(类似典破解)
2014/01/17 Python
Perl中著名的Schwartzian转换问题解决实现
2015/06/02 Python
Python制作豆瓣图片的爬虫
2017/12/28 Python
scrapy爬虫实例分享
2017/12/28 Python
Python实现PS滤镜中马赛克效果示例
2018/01/20 Python
Python简单生成随机数的方法示例
2018/03/31 Python
BP神经网络原理及Python实现代码
2018/12/18 Python
python基于json文件实现的gearman任务自动重启代码实例
2019/08/13 Python
python设置代理和添加镜像源的方法
2020/02/14 Python
在pytorch中实现只让指定变量向后传播梯度
2020/02/29 Python
python 写函数在一定条件下需要调用自身时的写法说明
2020/06/01 Python
python request 模块详细介绍
2020/11/10 Python
英国50岁以上人群的交友网站:Ourtime
2018/03/28 全球购物
6PM官网:折扣鞋、服装及配饰
2018/08/03 全球购物
美国Curacao百货连锁店网站:iCuracao.com
2019/07/20 全球购物
工厂会计员职责
2014/02/06 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
mysql联合索引的使用规则
2021/06/23 MySQL
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis