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 相关文章推荐
jquery 之 $().hover(func1, funct2)使用方法
Jun 14 Javascript
Javascript图像处理—平滑处理实现原理
Dec 28 Javascript
json数据的列循环示例
Sep 06 Javascript
Window.Open如何在同一个标签页打开
Jun 20 Javascript
基于Jquery实现表单验证
Jul 20 Javascript
jQuery EasyUI Dialog拖不下来如何解决
Sep 28 Javascript
关于网页中的无缝滚动的js代码
Jun 09 Javascript
BootStrap 弹出层代码
Feb 09 Javascript
如何在JavaScript中优雅的提取循环内数据详解
Mar 04 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
May 10 Javascript
Threejs实现滴滴官网首页地球动画功能
Jul 13 Javascript
angular异步验证器防抖实例详解
Mar 31 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
CPU步进是什么意思?i3-9100F B0步进和U0步进区别知识科普
2020/03/17 数码科技
php 常用字符串函数总结
2008/03/15 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
2016/05/23 PHP
PHP中in_array函数使用的问题与解决办法
2016/09/11 PHP
PHP实现类似题库抽题效果
2018/08/16 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
关于javascript 回调函数中变量作用域的讨论
2009/09/11 Javascript
jQuery 源码分析笔记(6) jQuery.data
2011/06/08 Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
2014/04/23 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
你所未知的3种Node.js代码优化方式
2016/02/25 Javascript
用JS动态改变表单form里的action值属性的两种方法
2016/05/25 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
js删除Array数组中指定元素的两种方法
2016/08/03 Javascript
使用JavaScript获取URL中的参数(两种方法)
2016/11/16 Javascript
基于JS对象创建常用方式及原理分析
2017/06/28 Javascript
详解jQuery中的getAll()和cleanData()
2019/04/15 jQuery
vue+element tabs选项卡分页效果
2020/06/29 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
2020/08/10 Javascript
vue项目实现减少app.js和vender.js的体积操作
2020/11/12 Javascript
Python创建字典的八种方式
2019/02/27 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
Python中拆分字符串的操作方法
2019/07/23 Python
Python3从零开始搭建一个语音对话机器人的实现
2019/08/23 Python
python 数据提取及拆分的实现代码
2019/08/26 Python
HTML5中的拖放实现详解
2017/08/23 HTML / CSS
记一次高分屏下canvas模糊问题
2020/02/17 HTML / CSS
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
墨西哥皇宫度假村预订:Palace Resorts
2018/06/16 全球购物
巴西香水和化妆品购物网站:The Beauty Box
2019/09/03 全球购物
物流管理专业应届生求职信
2013/11/21 职场文书
师德师风自查总结
2014/10/14 职场文书
博士论文答辩开场白
2015/06/01 职场文书
西安事变观后感
2015/06/12 职场文书
Python可视化神器pyecharts绘制水球图
2022/07/07 Python