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 相关文章推荐
Google Suggest ;-) 基于js的动态下拉菜单
Oct 11 Javascript
javascript:void(0)的真正含义实例分析
Aug 20 Javascript
深入理解JavaScript作用域和作用域链
Oct 21 Javascript
网页源代码保护(禁止右键、复制、另存为、查看源文件)
May 23 Javascript
Javascript中的Array数组对象详谈
Mar 03 Javascript
JavaScript实现图片懒加载(Lazyload)
Nov 28 Javascript
简单实现js菜单栏切换效果
Mar 04 Javascript
js鼠标经过tab选项卡时实现切换延迟
Mar 24 Javascript
微信小程序实现购物页面左右联动
Feb 15 Javascript
node.js命令行教程图文详解
May 27 Javascript
深入了解query和params的使用区别
Jun 24 Javascript
javascript实现随机抽奖功能
Dec 30 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中3种方法统计字符串中每种字符的个数并排序
2012/08/27 PHP
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
2013/01/19 PHP
PHP中绘制图像的一些函数总结
2014/11/19 PHP
新浪微博OAuth认证和储存的主要过程详解
2015/03/27 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
PHP实现微信对账单处理
2018/10/01 PHP
js中根据字数截取字符串,不能截断url
2012/01/12 Javascript
javascript在子页面中函数无法调试问题解决方法
2014/01/17 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
javascript排序函数实现数字排序
2015/06/26 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
Node.js开发第三方微信公众平台
2017/06/05 Javascript
详解使用Visual Studio Code对Node.js进行断点调试
2017/09/14 Javascript
vue init失败简单解决方法(终极版)
2017/12/22 Javascript
15个顶级开源JavaScript框架和库
2018/10/10 Javascript
微信小程序如何刷新当前界面的实现方法
2019/06/07 Javascript
javascript实现滚动条效果
2020/03/24 Javascript
[16:19]教你分分钟做大人——风暴之灵
2015/03/11 DOTA
Python字符串中查找子串小技巧
2015/04/10 Python
python检测主机的连通性并记录到文件的实例
2018/06/21 Python
kali中python版本的切换方法
2019/07/11 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
2019/07/23 Python
tensorflow 只恢复部分模型参数的实例
2020/01/06 Python
Python使用Pandas库常见操作详解
2020/01/16 Python
Python中格式化字符串的四种实现
2020/05/26 Python
详解Anaconda 的安装教程
2020/09/23 Python
车间主管岗位职责
2013/11/14 职场文书
信用社主任竞聘演讲稿
2014/05/23 职场文书
村党支部对照检查材料思想汇报
2014/09/28 职场文书
2014年幼儿园个人工作总结
2014/11/10 职场文书
社区党建工作总结2015
2015/05/13 职场文书
革命电影观后感
2015/06/18 职场文书
2015年计算机教学工作总结
2015/07/22 职场文书
学校2016年九九重阳节活动总结
2016/04/01 职场文书
30岁前绝不能错过的10本书
2019/08/08 职场文书