微信小程序全局变量功能与用法详解


Posted in Javascript onJanuary 22, 2019

本文实例讲述了微信小程序全局变量功能与用法。分享给大家供大家参考,具体如下:

全局变量的作用

在微信小程序开发中,会遇到一个很实际的应用场景,就是一个变量会在多个页面进行使用。

例如:

1. 在微信小程序开发中使用高德地图的微信小程序开发,其中key值就需要在多个页面使用;

2. 在微信小程序开发电商平台时同样,比如客服电话,就需要在多个页面使用。

在以上两种类似的场景中,开发者就需要使用全局变量,当然也有开发者说不能每个page页面都定义一个?如果客服电话改变,如果客服要求采用他的高德key,这个时候只需要修改全局,就能进行整个小程序的修改,如果每个page一个变量,将会在修改中花费大量的时间做低效的工作。所以可以看出全局变量在这里的作用就是提高开发效率!

如何定义全局变量

方法一:用APP定义全局变量

在app.js中的APP({})传入对象中定义一个全局属性globalData,作为保存全局变量的对象。

示例代码:

声明变量进行引入!

// 引入高德地图js
const amap = require('./src/js/amap-wx.js');
// 引入接口js
const urlList = require('./src/js/config.js');
// 引入wetoast插件js
const { WeToast } = require('./src/wetoast/wetoast.js');
// 全局变量高德地图key
const key = 'c290b7e016c85e8f279b2f80018c';
// 全局变量服务电话
const phone = '400-007-859';

进行全局变量的赋值!

App({
 globalData: {//全局变量
  amap: amap,
  key: key,
  phone: phone,
  urlList: urlList.urlList
 }
})

方法一全局变量的使用:

//在page页面引入app,同时声明变量,获得所需要的全局变量
const app = getApp();
const urlList = app.globalData.urlList;

方法二:用引入js的方法定义全局变量

在公用js文件夹中创建一个保存全局变量的js文件

实例:我在公用文件夹src下的js文件夹中创建的三个保存全局变量的文件:base64.js、config.js、data.js

微信小程序全局变量功能与用法详解

这三个文件作用:

1. base64.js保存背景图标转化的base64码
2. config.js保存request请求数据的路径
3. data.js 保存初次开发的模拟数据

示例代码:

let basePath = 'https://xxxxx.com';
let urlList = {
  goodsListUrl: basePath + '/goodsList',
  shopCartUrl: basePath + '/shopCart',
  ...
}
module.exports = {
 urlList: urlList
}

使用方法:

// 引入接口js
const urlList = require('./src/js/config.js');
wx.request({
  url: urlList.urlList.goodsListUrl,
  data: {},
  success: res => {}
})

总结

其实两种方法都可以定义全局变量,那么在什么时候采用哪一种方法?我个人建议,在像高德地图的key值这种只需要单独定义的,可以采用方法一,方便、简洁、不用单独创建文件。在请求地址这种批量全局变量的定义时,采用方法二,有利于后期的查找和修改。两种方法结合,更有利于开发!

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
根据表格中的某一列进行排序的javascript代码
Nov 29 Javascript
JS将制定内容复制到剪切板示例代码
Feb 11 Javascript
基于jQuery实现响应式圆形图片轮播特效
Nov 25 Javascript
javascript判断图片是否加载完成的方法推荐
May 13 Javascript
jQuery3.0中的buildFragment私有函数详解
Aug 16 Javascript
Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法
Aug 18 Javascript
微信小程序 setData的使用方法详解
Apr 20 Javascript
vue+node+webpack环境搭建教程
Nov 05 Javascript
three.js实现3D影院的原理的代码分析
Dec 18 Javascript
JavaScript函数Call、Apply原理实例解析
Feb 17 Javascript
javascript中的with语句学习笔记及用法
Feb 17 Javascript
Nest.js散列与加密实例详解
Feb 24 Javascript
微信小程序使用map组件实现路线规划功能示例
Jan 22 #Javascript
JavaScript JMap类定义与使用方法示例
Jan 22 #Javascript
vue2.0 如何在hash模式下实现微信分享
Jan 22 #Javascript
JavaScript继承与聚合实例详解
Jan 22 #Javascript
JavaScript格式化json和xml的方法示例
Jan 22 #Javascript
基于vue的验证码组件的示例代码
Jan 22 #Javascript
JavaScript中的"=、==、==="区别讲解
Jan 22 #Javascript
You might like
NT IIS下用ODBC连接数据库
2006/10/09 PHP
php中用数组的方法设置cookies
2011/04/21 PHP
php数字运算验证码的实现代码
2015/07/30 PHP
HTML-CSS群中单选引发的“事件”
2007/03/05 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
js实现浏览器的各种菜单命令比如打印、查看源文件等等
2013/10/24 Javascript
js获取时间(本周、本季度、本月..)
2013/11/22 Javascript
通过遮罩层实现浮层DIV登录的js代码
2014/02/07 Javascript
javascript学习笔记(六)数据类型和JSON格式
2014/10/08 Javascript
JS实现模拟风力的雪花飘落效果
2015/05/13 Javascript
jquery简单实现网页层的展开与收缩效果
2015/08/07 Javascript
js操作table元素实现表格行列新增、删除技巧总结
2015/11/18 Javascript
AngularJs中route的使用方法和配置
2016/02/04 Javascript
JS中使用apply方法通过不同数量的参数调用函数的方法
2016/05/31 Javascript
概述javascript在Google IE中的调试技巧
2016/11/24 Javascript
深入学习 JavaScript中的函数调用
2017/03/23 Javascript
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
2017/06/19 Javascript
Vue 兄弟组件通信的方法(不使用Vuex)
2017/10/26 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
浅谈React Native 传参的几种方式(小结)
2019/05/21 Javascript
python脚本实现xls(xlsx)转成csv
2016/04/10 Python
Python heapq使用详解及实例代码
2017/01/25 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
Python queue队列原理与应用案例分析
2019/09/27 Python
python等差数列求和公式前 100 项的和实例
2020/02/25 Python
Django模板之基本的 for 循环 和 List内容的显示方式
2020/03/31 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
Python3交互式shell ipython3安装及使用详解
2020/07/11 Python
几款Python编译器比较与推荐(小结)
2020/10/15 Python
如何用css3实现switch组件开关的方法
2018/02/09 HTML / CSS
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
2017/03/15 HTML / CSS
计算机专业个人简短的自我评价
2013/10/23 职场文书
2014年底个人工作总结
2015/03/10 职场文书
学校食堂食品安全承诺书
2015/04/29 职场文书
一篇文章弄懂Python中的内建函数
2021/08/07 Python
Python时间操作之pytz模块使用详解
2022/06/14 Python