例如:
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值這種只需要單獨定義的,可以采用方法一,方便、簡潔、不用單獨創建文件。在請求地址這種批量全局變量的定義時,采用方法二,有利于后期的查找和修改。兩種方法結合,更有利于開發!
希望本文所述對大家微信小程序開發有所幫助。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com