微信小程序之小技能篇(一) - 新聞資(zī)訊 - 雲南小程序開發|雲南軟件開發|雲南網站(zhàn)建設-西山區知普網絡科技工作室

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不管是網站(zhàn),軟件還是小程序,都要直接或間接能為您産生價值,我們在追求其視覺表現的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網站(zhàn)成為營銷工具,讓軟件能切實提升企業(yè)内部管理水平和(hé)效率。優秀的程序為後期升級提供便捷的支持!

微信小程序之小技能篇(一)

發表時間:2021-3-31

發布人:葵宇科技

浏覽次數:41

1,三目運算改變class值:

<view class="{{flag ? 'change' : 'change_after'}}">改變字體顔色</view>  //flage為true/false時,選擇class名

應用場景:需要動(dòng)态改變元素樣式。比如(rú):點擊某按鈕,改變字體顔色。

2,利用緩存實現:點擊按鈕,數字減一

複制代碼
//XML頁面:
<
text style='font-size:26rpx; color:#ff0000'>{{counts}}</text> //JS頁面: onLoad: function (options) { var counts = wx.getStorageSync('key') //獲取緩存值 this.data.currentcounts = counts //***把counts賦值給data的屬性currentcounts if (counts) { //判斷是否存在緩存值 this.setData({ //存在的話,将值綁定到counts counts: counts }) } else { wx.setStorageSync('key', 9) //不存在的話,設置緩存值。(為方便測試,這裡設置為9) } // console.log(counts); },

  self_redution: function (event) {  //自定義方法
    var a = wx.getStorageSync('key')  //取得緩存值
    if (a > 0) { 
      var b = a - 1  //大于0,那麼自身值減一
    } else {
      var b = this.data.currentcounts //***否則,緩存值為上面設置的值
    }
    console.log(b);
    a = wx.setStorageSync('key', b)
    this.setData({
      counts: b,  //将緩存值綁定到counts
    })


   formSubmit: function (event) {

      this.self_redution() //調用上面自定義方法

   },
 
複制代碼

 

應用場景:報名時,每次表單提交成功時,剩餘可(kě)報名人數減掉一人。

上面有一個(gè)知識點:如(rú)何将onload中(zhōng)獲取的值傳遞到點擊事件中(zhōng)?這裡采取一個(gè)通(tōng)過data:{}中(zhōng)轉的辦法:把counts賦值給data的屬性currentcounts

this.data.currentcounts = counts  //首先先在onload中(zhōng):将counts賦值給data的屬性currentcounts

var b = this.data.currentcounts  //然後在表單的提交函數中(zhōng): this.data.currentcounts就是我們上面的counts值

 

3,定義一個(gè)方法,如(rú)何在點擊事件中(zhōng)調用

複制代碼
//某個(gè)js文(wén)件下(xià)

self_redution:function(event){ //定義方法 console.log("我來自自定義方法:自減"); }, formSubmit: function (event) { this.self_redution() //調用方法(别忘記加this) },
複制代碼

 

------------------------

問(wèn)題:

今早過來接着優化表單提交【就是每次提交之後,将寫入緩存的數值減一】,調試的時候頻繁測試代碼是否能成功執行,所以會有好多次的表單提交。試着試着,突然浏覽器(qì)報錯,同時也收不到郵件....  然後我點預覽在手機上看效果,結果也報錯...   

微信小程序預覽報錯:

Error: tunneling socket could not be established, cause=connect ECONNREFUSED 127.0.0.1:64412

浏覽器(qì)報錯:

appservice:1014 POST https://xxxx/sendEmail.php net::ERR_PROXY_CONNECTION_FAILED 

處理:在網上搜到的應該是代理設置上的問(wèn)題 ,關(guān)閉代理。

 工具欄 -“設置”-“代理設置”,選擇“不使用任何代理,勾選後直連網絡”。

取消代理後,不再報錯回複正常。很奇怪,之前還一直好好的,就算是默認代理也沒有問(wèn)題,最有可(kě)能就是我頻繁提交表單了....

 

catchtouchmove='true'  處理遮罩底層div滾動(dòng)問(wèn)題

相關(guān)案例查看更多