太原小程序营销_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"  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有点繁琐,有点杀鸡用牛刀的感觉。认为并没有必要。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持凡科。