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 相关文章推荐
DIY jquery plugin - tabs标签切换实现代码
Dec 11 Javascript
jquery结合CSS使用validate实现漂亮的验证
Jan 29 Javascript
javascript字符串循环匹配实例分析
Jul 17 Javascript
javascript中的五种基本数据类型
Aug 26 Javascript
javascript面向对象程序设计高级特性经典教程(值得收藏)
May 19 Javascript
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
Dec 23 Javascript
Vue写一个简单的倒计时按钮功能
Apr 20 Javascript
JavaScript模拟实现自由落体效果
Aug 28 Javascript
Node.js Event Loop各阶段讲解
Mar 08 Javascript
Node.js动手撸一个静态资源服务器的方法
Mar 09 Javascript
详解JavaScript作用域和作用域链
Mar 19 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
Aug 25 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
叫你如何修改Nginx与PHP的文件上传大小限制
2014/09/10 PHP
javascript之锁定表格栏位
2007/06/29 Javascript
XENON基于JSON变种
2010/07/27 Javascript
jquery动画1.加载指示器
2012/08/24 Javascript
JavaScript用JQuery呼叫Server端方法示例代码
2014/09/03 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
javascript实现在网页任意处点左键弹出隐藏菜单的方法
2015/05/13 Javascript
详解jquery事件delegate()的使用方法
2016/01/25 Javascript
创建一个类Person的简单实例
2016/05/17 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
Angularjs处理页面闪烁的解决方法
2017/03/09 Javascript
JavaScript中undefined和null的区别
2017/05/03 Javascript
JavaScript学习总结之正则的元字符和一些简单的应用
2017/06/30 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
jQuery实现弹窗下底部页面禁止滑动效果
2017/12/19 jQuery
JS实现的获取银行卡号归属地及银行卡类型操作示例
2019/01/08 Javascript
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
[02:19]2014DOTA2国际邀请赛 专访820少年们一起去追梦吧
2014/07/14 DOTA
Python实现微信公众平台自定义菜单实例
2015/03/20 Python
Python中的元类编程入门指引
2015/04/15 Python
python 迭代器和iter()函数详解及实例
2017/03/21 Python
Python有序查找算法之二分法实例分析
2017/12/11 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
Python Django 前后端分离 API的方法
2019/08/28 Python
Python 经典算法100及解析(小结)
2019/09/13 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
如何写出好的Java代码
2014/04/25 面试题
车间班组长的职责
2013/12/13 职场文书
《狐假虎威》教学反思
2014/02/07 职场文书
2014广电局实施党的群众路线教育实践活动方案思想汇报
2014/09/22 职场文书
党校党性分析材料
2014/12/19 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
小学四年级班主任工作经验交流材料
2015/11/02 职场文书
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS