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几个不错的函数 $$()
Oct 09 Javascript
Span元素的width属性无效果原因及解决方案
Jan 15 Javascript
javascript 的Document属性和方法集合
Jan 25 Javascript
JavaScript中的Array对象使用说明
Jan 17 Javascript
有关JavaScript的10个怪癖和秘密分享
Aug 28 Javascript
JavaScript表达式:URL 协议介绍
Mar 10 Javascript
javascript等号运算符使用详解
Apr 16 Javascript
js只执行1次的函数示例
Jul 20 Javascript
ES6所改良的javascript“缺陷”问题
Aug 23 Javascript
Nuxt.js实战详解
Jan 18 Javascript
vue fetch中的.then()的正确使用方法
Apr 17 Javascript
在vant 中使用cell组件 定义图标该图片和位置操作
Nov 02 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和数据库结合的一个简单的web实例 代码分析 (php初学者)
2011/07/28 PHP
PHP学习笔记(一) 简单了解PHP
2014/08/04 PHP
PHP回调函数与匿名函数实例详解
2017/08/16 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
js模拟实现Array的sort方法
2007/12/11 Javascript
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
2009/04/10 Javascript
页面定时刷新(1秒刷新一次)
2013/11/22 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
5个JavaScript经典面试题
2014/10/13 Javascript
JS获取一个未知DIV高度的方法
2016/08/09 Javascript
基于Angular.js实现的触摸滑动动画实例代码
2017/02/19 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
2017/10/13 Javascript
jQuery Datatables表头不对齐的解决办法
2017/11/27 jQuery
Node.js实现mysql连接池使用事务自动回收连接的方法示例
2018/02/03 Javascript
图文介绍Vue父组件向子组件传值
2018/02/17 Javascript
vue动态删除从数据库倒入列表的某一条方法
2018/09/29 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
解决Vue中的生命周期beforeDestory不触发的问题
2020/07/21 Javascript
vuejs实现下拉框菜单选择
2020/10/23 Javascript
python数据结构之列表和元组的详解
2017/09/23 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
Python基于class()实现面向对象原理详解
2020/03/26 Python
sklearn线性逻辑回归和非线性逻辑回归的实现
2020/06/09 Python
matplotlib相关系统目录获取方式小结
2021/02/03 Python
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
写一个用矩形法求定积分的通用函数
2012/11/08 面试题
大专应届生个人的自我评价
2013/11/21 职场文书
五年级音乐教学反思
2014/02/06 职场文书
高中毕业生的个人自我评价
2014/02/21 职场文书
2014年最新学习全国两会精神心得
2014/03/17 职场文书
毕业留言寄语大全
2014/04/10 职场文书
三月学雷锋活动总结
2014/06/26 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
Js类的构建与继承案例详解
2021/09/15 Javascript
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL