太原小程序营销_VUE 全局变量的几种完成方式

阅读  ·  发布日期 2021-01-08 13:12  ·  admin
VUE 全局变量的几种实现方式       这篇文章主要介绍了VUE 全局变量的几种实现方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

意思是说,用一个模块(js or vue)管理这套全局变量,模块里的变量用export (最好导出的格式为对象,方便在其他地方调用)暴露出去,当其它地方需要使用时,用import 导入该模块

全局变量专用模块Global.vue

const colorList = [
 '#F9F900',
 '#6FB7B7',
const colorListLength = 20
function getRandColor () {
 var tem = Math.round(Math.random() * colorListLength)
 return colorList[tem]
export default
 colorList,
 colorListLength,
 getRandColor
}

模块里的变量用出口暴露出去,当其它地方需要使用时,引入模块全球便可。

需要使用全局变量的模块html5.vue

 template 
 template v-for="item in mainList" 
 div :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 

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 

1和2的区别在于:2不用在用到的时候必须按需导入全局模块文件

3、vuex

Vuex是一个专为Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态。因此可以存放着全局量。因为Vuex有点繁琐,有点杀鸡用牛刀的感觉。认为并没有必要。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持凡科。