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 相关文章推荐
Using the TextRange Object
Oct 14 Javascript
js中将多个语句写成一个语句的两种方法小结
Dec 08 Javascript
学习ExtJS(一) 之基础前提
Oct 07 Javascript
JavaScript高级程序设计 扩展--关于动态原型
Nov 09 Javascript
jQuery动态添加 input type=file的实现代码
Jun 14 Javascript
Bootstrap 粘页脚效果
Mar 28 Javascript
JavaScript reduce和reduceRight详解
Oct 24 Javascript
js通过指定下标或指定元素进行删除数组的实例
Jan 12 Javascript
微信小程序 本地图片按照屏幕尺寸处理
Aug 04 Javascript
详解刷新页面vuex数据不消失和不跳转页面的解决
Jan 30 Javascript
layer弹出层父子页面事件相互调用方法
Aug 17 Javascript
jQuery事件委托代码实践详解
Jun 21 jQuery
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中通过ADO调用Asscess数据库和COM程序
2006/10/09 PHP
php控制linux服务器常用功能 关机 重启 开新站点等
2012/09/05 PHP
php中将字符串转为HTML的实体引用的一个类
2013/02/03 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
php二维数组排序详解
2013/11/06 PHP
php教程之phpize使用方法
2014/02/12 PHP
php中10个不同等级压缩优化图片操作示例
2016/11/14 PHP
浅谈php(codeigniter)安全性注意事项
2017/04/06 PHP
List Installed Software Features
2007/06/11 Javascript
jQuery的.live()和.die() 使用介绍
2011/09/10 Javascript
jquery改变disabled的boolean状态的三种方法
2013/12/13 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
2014/10/17 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
express的中间件bodyParser详解
2014/12/04 Javascript
javascript的BOM
2016/05/03 Javascript
JS图片定时翻滚效果实现方法
2016/06/21 Javascript
微信小程序去哪里找 小程序到底如何使用(附小程序名单)
2017/01/09 Javascript
使用prop解决一个checkbox选中后再次选中失效的问题
2017/07/05 Javascript
详解webpack4多入口、多页面项目构建案例
2018/05/25 Javascript
node thread.sleep实现示例
2018/06/20 Javascript
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
2018/08/08 Javascript
10种JavaScript最常见的错误(小结)
2019/06/21 Javascript
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
python logging 日志轮转文件不删除问题的解决方法
2016/08/02 Python
python自动裁剪图像代码分享
2017/11/25 Python
Python partial函数原理及用法解析
2019/12/11 Python
Python基于numpy模块实现回归预测
2020/05/14 Python
django filter过滤器实现显示某个类型指定字段不同值方式
2020/07/16 Python
Omio中国:全欧洲低价大巴、火车和航班搜索和比价
2018/08/09 全球购物
诗普兰迪官方网站:Splendid
2018/09/18 全球购物
优秀的毕业生的自我评价
2013/12/12 职场文书
教师新年寄语
2014/04/03 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
九一八事变纪念日演讲稿
2014/09/14 职场文书
大卫科波菲尔读书笔记
2015/06/30 职场文书
python使用XPath解析数据爬取起点小说网数据
2021/04/22 Python