VUE 全局变量的几种实现方式
最近在学习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 =
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: ,
img: require('../../assets/rankIcon.png'),
title: '登录界面'
},
{
id: ,
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: ,
img: require('../../assets/rankIcon.png'),
title: '登录界面'
},
{
id: ,
img: require('../../assets/rankIndex.png'),
title: '主页'
}
]
}
}
}
</script>
3、使用VUEX
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态。因此可以存放着全局量。因Vuex有点繁琐,有点杀鸡用牛刀的感觉。认为并没有必要。
VUE 全局变量的几种实现方式的更多相关文章
- Vue组件的三种调用方式
最近在写fj-service-system的时候,遇到了一些问题.那就是我有些组件,比如Dialog.Message这样的组件,是引入三方组件库,比如element-ui这样的,还是自己实现一个?虽然 ...
- Vue框架的两种使用方式
1.单页面应用:使用Vue CLI工具生成脚手架,这是最常见的使用方式,简单用模板生成一个HelloWorld Demo,可以学习Vue的SPA项目结构 2.传统多页面应用:通过script引入Vue ...
- 关于vue :style 的几种使用方式
:style的使用 一 ,最通用的写法 <p :style="{fontFamily:arr.conFontFamily,color:arr.conFontColor,backgrou ...
- [Vue]实例化Vue时的两种挂载方式el与$mount
Vue 的$mount()为手动挂载,在项目中可用于延时挂载(例如在挂载之前要进行一些其他操作.判断等),之后要手动挂载上.new Vue时,el和$mount并没有本质上的不同. 1.el Vue实 ...
- 实例化Vue时的两种挂载方式el与$mount
el 与mount 都是挂载. el vue官网的介绍https://cn.vuejs.org/v2/api/#el mount vue官网的介绍 https://cn.vuejs.org/v2/ap ...
- springmvc freemarker 全局变量的三种配置方式
方法一 直接在spring-servlet.xml 中进行配置 <bean id="freemarkerConfiguration" class="org.spri ...
- JavaScript声明全局变量的三种方式
JavaScript声明全局变量的三种方式 JS中声明全局变量主要分为显式声明或者隐式声明下面分别介绍. 声明方式一: 使用var(关键字)+变量名(标识符)的方式在function外部声明,即为 ...
- Vue 常用三种传值方式
Vue常用的三种传值方式: 父传子 子传父 非父子传值 引用官网一句话:父子组件的关系可以总结为 prop 向下传递,事件向上传递.父组件通过 prop 给子组件下发数据,子组件通过事件给父组件发送消 ...
- 【转】vue.js三种安装方式
Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件.它不仅易于上手 ...
随机推荐
- vim几种常用的插入模式
我们来看一下cw这个命令,它是从光标处替换到后一个单词的结尾.比如说我的光标如图: 我的namespace写错了,后面的都对,就可以用cw命令,
- Ubuntu apt 使用代理
. . . . . 由于一台 Ubuntu 主机无法直接连接外网,但同内网的另一台 Windows 主机可以连接外网,于是在 Win 主机上搭建了代理服务,使 Ubuntu 主机通过代理更新系统. 记 ...
- session_id()和session_regenerate_id()对原来session文件和其中数据是怎么处理的
一.session_id()对原来session文件和里面的数据,是怎么处理的? 测验办法:<?php $sid = md5("aaad");session_id($sid) ...
- CRC码计算及校验原理的最通俗诠释
5.3.2 循环冗余校验检错方案 奇偶校验码(PCC)只能校验一位错误,本节所要介绍的循环冗余校验码(CRC)的检错能力更强,可以检出多位错误. 1. CRC校验原理 CRC校验原理看起来比 ...
- MySql快速插入以及批量更新
MySql快速插入以及批量更新 插入: MySql提供了可以一次插入多条数据的用法: [sql] INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6), ...
- SwipeToLoadLayout
SwipeToLoadLayout SwipeToLoadLayout is a reusable pull-to-refresh and pull-to-load-more widget. Supp ...
- badgeview
https://github.com/AlexLiuSheng/BadgeView include: compile 'com.allenliu.badgeview:library:1.1.1'(ne ...
- 深度学习中交叉熵和KL散度和最大似然估计之间的关系
机器学习的面试题中经常会被问到交叉熵(cross entropy)和最大似然估计(MLE)或者KL散度有什么关系,查了一些资料发现优化这3个东西其实是等价的. 熵和交叉熵 提到交叉熵就需要了解下信息论 ...
- 【Dubbo 源码解析】08_Dubbo与Spring结合
Dubbo 与 Spring 结合 基于 dubbo.jar 内的 META-INF/spring.handlers 配置,Spring 在遇到 dubbo 名称空间时,会回调 DubboNamesp ...
- Ubuntu16.04首次root登录设置
一.首次登录root模式设置 当第一次安装并登录Ubuntu16.04系统时,系统默认只能使用guest模式登录.登录系统后,在图像界面的右上方的系统设置中可转换为普通用户模式. 在普通登录模式下,经 ...