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 相关文章推荐
js防止DIV布局滚动时闪动的解决方法
Oct 30 Javascript
javascript日期比较方法实例分析
Jun 17 Javascript
浅析jQuery操作select控件的取值和设值
Dec 07 Javascript
vue-resource调用promise取数据方式详解
Jul 21 Javascript
form表单序列化详解(推荐)
Aug 15 Javascript
Vue自定义指令使用方法详解
Aug 21 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
Nov 28 Javascript
jquery实现左右轮播切换效果
Jan 01 jQuery
vue二级菜单导航点击选中事件的方法
Sep 12 Javascript
优雅的将ElementUI表格变身成树形表格的方法步骤
Apr 11 Javascript
微信小程序实现收货地址左滑删除
Nov 18 Javascript
JS实现京东商品分类侧边栏
Dec 11 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以及MYSQL日期比较方法
2012/11/29 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
phpstudy2020搭建站点的实现示例
2020/10/30 PHP
js 异步处理进度条
2010/04/01 Javascript
div当滚动到页面顶部的时候固定在顶部实例代码
2013/05/27 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
获取中文字符串的实际长度代码
2014/06/05 Javascript
js常用系统函数用法实例分析
2015/01/12 Javascript
jQuery常用且重要方法汇总
2015/07/13 Javascript
总结JavaScript三种数据存储方式之间的区别
2016/05/03 Javascript
JavaScript中的this使用详解
2016/07/27 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
2016/10/14 Javascript
详解Angular.js的$q.defer()服务异步处理
2016/11/06 Javascript
React-Native做一个文本输入框组件的实现代码
2017/08/10 Javascript
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
JavaScript实现获取select下拉框中第一个值的方法
2018/02/06 Javascript
深入浅析javascript函数中with
2018/10/28 Javascript
paramiko模块安装和使用(远程登录服务器)
2014/01/27 Python
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
利用Python查看目录中的文件示例详解
2017/08/28 Python
Python中字典的浅拷贝与深拷贝用法实例分析
2018/01/02 Python
解决pandas read_csv 读取中文列标题文件报错的问题
2018/06/15 Python
PYTHON EVAL的用法及注意事项解析
2019/09/06 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
Python实现自动打开电脑应用的示例代码
2020/04/17 Python
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
SmartBuyGlasses英国:购买太阳镜和眼镜
2018/01/29 全球购物
机械设计制造专业个人求职信
2013/09/25 职场文书
2013英文求职信模板范文
2013/11/15 职场文书
大学同学十年聚会感言
2014/02/21 职场文书
2014年国培研修感言
2014/03/09 职场文书
政府班子四风问题整改措施思想汇报
2014/10/08 职场文书
教师节主持词开场白
2015/05/29 职场文书
正规欠条模板
2015/07/03 职场文书
婚礼伴郎致辞
2015/07/28 职场文书
Python趣味挑战之用pygame实现简单的金币旋转效果
2021/05/31 Python