国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點 > 微信 > 正文

微信小程序開發技巧匯總

2024-07-22 01:17:59
字體:
來源:轉載
供稿:網友

1.全局變量的使用

每個小程序都需要在 app.js 中調用 App 方法注冊小程序示例,綁定生命周期回調函數、錯誤監聽和頁面不存在監聽函數等。
詳細的參數含義和使用請參考 App 參考文檔 。

整個小程序只有一個 App 實例,是全部頁面共享的。開發者可以通過 getApp 方法獲取到全局唯一的 App 示例,獲取App上的數據或調用開發者注冊在 App 上的函數。

我們在做小程序的時候往往需要大量的請求,而請求的域名也都是相同的,我們可以把域名儲存到全局變量中,這樣會方便后面請求域名的修改。(user_id、unionid、user_info之類經常用到的都可以放在全局變量中)

//app.jsApp({ globalData: {  user_id: null,  unionid:null,  url:"https://xxx.com/index.php/Home/Mobile/",   //請求的域名  user_info:null }})

當在頁面中使用時記得要引用下app.js,小程序已經提供了方法

//index.js//獲取應用實例const app = getApp()  //獲取app//let url = app.globalData.url; //使用方法,可先定義或者直接使用app.globalData.urlwx.request({  url: app.globalData.url + 'checkfirst', //就可以直接在這里調用  method:'POST',  header:{"Content-Type":"application/x-www-form/"}  data:{},  success:(res)=>{}

2.箭頭函數的使用

當我們調用接口請求時要通過請求返回的數據改變頁面數據經常要用到臨時指針來保存this指針。

但如果使用ES6的箭頭函數就可以避免

使用臨時指針

onLoad: function (options) {  let that = this //保存臨時指針  wx.request({   url: url + 'GetCouponlist',   method: 'POST',   header: { 'Content-Type': 'application/x-www-form-urlencoded' },   data: { },   success(res) {    that.setData({  //使用臨時指針     coupon_length:res.data.data.length    })   }  })

使用ES6箭頭函數 ( ) => {}

success:(res) => {    this.setData({  //此時this仍然指向onLoad     coupon_length:res.data.data.length    })   }

3.HTTP請求方法的封裝

在小程序中http請求是很頻繁的,但每次都打出wx.request是很煩的,而且代碼也是冗余的,所以我們要把他封裝起來
首先要在utils文件夾中新建一個js,我命名為request.js,在里面封裝出post和get的請求,記得最后要聲明出來

//封裝請求const app = getApp()let host = app.globalData.url/** * POST 請求 * model:{ * url:接口 * postData:參數 {} * doSuccess:成功的回調 *  doFail:失敗回調 * } */function postRequest(model) { wx.request({  url: host + model.url,  header: {   "Content-Type": "application/x-www-form-urlencoded"  },  method: "POST",  data: model.data,  success: (res) => {   model.success(res.data)  },  fail: (res) => {   model.fail(res.data)  } })}/** * GET 請求 * model:{ *  url:接口 *  getData:參數 {} *  doSuccess:成功的回調 *  doFail:失敗回調 * } */function getRequest(model) { wx.request({  url: host + model.url,  data: model.data,  success: (res) => {   model.success(res.data)  },  fail: (res) => {   model.fail(res.data)  } })}/** * module.exports用來導出代碼 * js中通過 let call = require("../util/request.js") 加載 */module.exports = { postRequest: postRequest, getRequest: getRequest}            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彭泽县| 江川县| 晴隆县| 玛曲县| 崇明县| 文安县| 翼城县| 北海市| 石景山区| 抚顺市| 潜山县| 东乡县| 章丘市| 林西县| 古交市| 策勒县| 东乡| 河间市| 莫力| 临沭县| 曲周县| 深圳市| 晋宁县| 星座| 芦溪县| 随州市| 咸阳市| 紫阳县| 准格尔旗| 桐庐县| 澄江县| 县级市| 舞钢市| 乡宁县| 离岛区| 丹阳市| 合水县| 竹山县| 临邑县| 祁东县| 岗巴县|