首頁 >web前端 >js教程 >如何對微信小程式進行開發

如何對微信小程式進行開發

php中世界最好的语言
php中世界最好的语言原創
2018-05-24 09:46:061394瀏覽

這次帶給大家如何對微信小程式進行開發,對微信小程式進行開發的注意事項有哪些,下面就是實戰案例,一起來看一下。

no.1 背景圖不顯示

微信小程式裡面是允許使用者自訂背景圖的,但是限定了背景圖的路徑及位址,之前一直用相對路徑來寫,微信開發者工具中也顯示出了背景圖,誤以為沒有問題,但是預覽的時候發現手機中不顯示背景圖,這就是今天介紹的第一個坑,背景圖不允許為本地圖片。

解決方法:

第一、用線上圖片轉base64碼的方法,這種方法的優點在於圖片不儲存在本地或是伺服器上,佔用空間小修改方便,缺點是小圖片處理效果更好,大圖代碼相當的長,長的都不想看他...

第二、將圖片上傳到伺服器,引用圖片地址就可以了,方便快捷,不過修改麻煩且佔用伺服器空間。

no.2 下拉沒有觸發onPullDownRefresh

//下拉事件
onPullDownRefresh: function() {
 console.log("好用不?")
 wx.showToast({
  title: '没事儿别乱拉',
  icon: 'success',
  duration: 2000
 })
},
//上拉事件
onReachBottom: function() {
 wx.showToast({
  title: '没事儿别乱拽',
  icon: 'success',
  duration: 2000
 })
}

上面程式碼是完全沒有問題的,但是預覽了以後發現只有向上拽是好用的,下拉完全沒有反應,這就鬱悶了,難道官方的方法有問題?

其實不是的,原因是因為官方預設是關閉了下拉事件,只要去app.json檔案裡面修改windows裡面參數就可以了,程式碼如下:

"window": {
 "enablePullDownRefresh":true //开启下拉功能
}

no .3 如何取消監聽重力感應API

微信小程式並沒有提供搖一搖API接口,但是提供了一個重力感應的API “wx.onAccelerometerChange(CALLBACK)”,我們可以用這個方法來模擬微信搖一搖功能,程式碼如下:

Page({
 onShow: function () {
  wx.onAccelerometerChange(function (e) {
   console.log(e.x)
   console.log(e.y)
   console.log(e.z)
   if (e.x > 1 && e.y > 1) {
    wx.showToast({
     title: '摇一摇成功',
     icon: 'success',
     duration: 2000
    })
   }
  })
 },
 onHide: function(){
  
 }
})

但如果小程式需要啟用tabbar的話,這樣啟用重力感應API會使tabbar下面所有頁面都會監聽到重力感應數據,導致模擬搖一搖在所有頁面都能出現搖一搖的結果,這並不是我們想要的,我們只是想在tabbar下其中一個頁面允許他獲取到重力感應數據,那麼就需要我們自己加入一個是否在當前頁面的判斷,根據判斷結果來啟用監聽重力感應API,程式碼修改如下:

Page({
 isShow: false,
 onShow: function () {
  var that = this;
  this.isShow = true;
  wx.onAccelerometerChange(function (e) {
   if(!that.isShow){
    return
   }
   console.log(e.x)
   console.log(e.y)
   console.log(e.z)
   if (e.x > 1 && e.y > 1) {
    wx.showToast({
     title: '摇一摇成功',
     icon: 'success',
     duration: 2000
    })
   }
  })
 },
 onHide: function(){
  this.isShow = false;
 }
})

修改以後重新編譯預覽就達到我們想要的效果了。

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

Vue按鍵修飾符處理事件步驟詳解

#怎麼使用JS實作雜湊表

以上是如何對微信小程式進行開發的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn