麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 課堂 > 小程序 > 正文

微信小程序開發技巧匯總

2020-03-21 15:51:48
字體:
來源:轉載
供稿:網友

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}

這一步非常重要記得添加!

module.exports = {postRequest: postRequest,getRequest: getRequest}

使用時就在相應的頁面頂部調用,Page外部噢

let call = require("../../utils/request.js")

使用的時候↓

get

//獲取廣告圖  call.getRequest({   url:'GetAd',   success:(res)=>{   //箭頭函數沒有指針問題    this.setData({     urlItem: res.data    })   }  })

post

call.postRequest({   url: 'addorder',   data: {    shop_id: that.data.shop_id,    user_id: app.globalData.user_id,    coupon_sn: that.data.coupon_sn,    carType: that.data.car_type,    appointtime: that.data.toTime   },   success:(res)=>{    console.log(res)    wx.navigateTo({     url: '../selectPay/selectPay?order_sn=' + res.data.order_sn + '&fee=' + res.data.real_pay + "&order_id=" + res.data.order_id,    })   }  })

4.搜索input中,如何點擊搜索按鈕進行搜索及按鈕樣式修改

正常我們會在搜索框中加入一個搜索按鈕,點擊進行搜索,但是小程序不是操作dom的,所以是無法直接獲取到input中的值,所以要通過另外的方法進行搜索。

(1)通過input組件中的bindconfirm屬性(confirm-type="search" 可將軟鍵盤的完成按鈕改為“搜索”)

<input class='search_input' type='text' confirm-type='search' bindconfirm='toSearch' ></input>//js部分toSearch(e){ console.log(e.detail.value) //e.detail.value 為input框輸入的值}

(2)利用form表單的提交,來完成點擊按鈕的提交(input需要添加name屬性)

搜索按鈕

微信小程序,開發技巧

利用button代替form的表單提交(form-type="submit"),注意用view不行,必須用button

需要自己修改button的默認樣式(button的邊框要在button::after中修改)

//wxml部分<form bindsubmit="formSubmit" bindreset="formReset"> <input class='search_input' type='text' confirm-type='search' name="search" bindconfirm='toSearch' > <button class='search_btn' form-type='submit'>搜索</button></input></form>
//js部分formSubmit(e){ console.log(e.detail.value.search) //為輸入框的值,input記得添加name屬性}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产va在线观看 | 制服丝袜日日夜夜 | 天天色综合6 | 亚洲精品无码不卡在线播放he | 欧美3p激情一区二区三区猛视频 | 国产精品视频在 | 欧美性久久久 | 成人福利免费在线观看 | 一级黄色播放 | 亚洲第一成av人网站懂色 | 亚洲国产成人久久一区www妖精 | 久久久99精品视频 | 日韩精品中文字幕一区二区三区 | 色视频在线| 香蕉视频1024| 99国产精品国产免费观看 | 免费国产羞羞网站视频 | 密室逃脱第一季免费观看完整在线 | 久久亚洲国产精品 | 看免费av| 精品国产一区二区三区免费 | 日韩a毛片免费观看 | 国产男女爽爽爽爽爽免费视频 | 欧美18一19sex性护士农村 | 成年人在线视频免费 | 深夜小视频在线观看 | 国产一级大片在线观看 | 黄色伊人网站 | 中国女人内谢8xxxxxx在 | 久久久久久亚洲综合影院红桃 | 99999久久久久久 | 久久新地址 | 国产精品一区二区在线 | 国产精品久久久久久久久久久天堂 | 9999久久| 成人性生活视频在线观看 | 免费看真人a一级毛片 | 成片免费大全 | 亚洲欧洲av在线 | 亚洲人成网在线观看 | 欧美在线观看视频网站 |