本文實例講述了微信小程序全局變量功能與用法。分享給大家供大家參考,具體如下:
全局變量的作用
在微信小程序開發中,會遇到一個很實際的應用場景,就是一個變量會在多個頁面進行使用。
例如:
1. 在微信小程序開發中使用高德地圖的微信小程序開發,其中key值就需要在多個頁面使用;
2. 在微信小程序開發電商平臺時同樣,比如客服電話,就需要在多個頁面使用。
在以上兩種類似的場景中,開發者就需要使用全局變量,當然也有開發者說不能每個page頁面都定義一個?如果客服電話改變,如果客服要求采用他的高德key,這個時候只需要修改全局,就能進行整個小程序的修改,如果每個page一個變量,將會在修改中花費大量的時間做低效的工作。所以可以看出全局變量在這里的作用就是提高開發效率!
如何定義全局變量
方法一:用APP定義全局變量
在app.js中的
APP({})
傳入對象中定義一個全局屬性globalData,作為保存全局變量的對象。
示例代碼:
聲明變量進行引入!
// 引入高德地圖jsconst amap = require('./src/js/amap-wx.js');// 引入接口jsconst urlList = require('./src/js/config.js');// 引入wetoast插件jsconst { WeToast } = require('./src/wetoast/wetoast.js');// 全局變量高德地圖keyconst 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}
使用方法:
// 引入接口jsconst urlList = require('./src/js/config.js');wx.request({ url: urlList.urlList.goodsListUrl, data: {}, success: res => {}})
總結
其實兩種方法都可以定義全局變量,那么在什么時候采用哪一種方法?我個人建議,在像高德地圖的key值這種只需要單獨定義的,可以采用方法一,方便、簡潔、不用單獨創建文件。在請求地址這種批量全局變量的定義時,采用方法二,有利于后期的查找和修改。兩種方法結合,更有利于開發!
希望本文所述對大家微信小程序開發有所幫助。
新聞熱點
疑難解答