【小程序】小程序開發大大小小的坑


1. 文本是數字類型會在底部增加空白間距?

解決方式:添加全局文本格式:
font-family: -apple-system-font, Helvetica Neue, Helvetica, sans-serif;

2.wss無法使用background-image屬性:

解決方式:使用相對布局添加image控件充當背景

3.navigateTo無法跳轉回帶有tab的頁面

解決方式:新版本的微信小程序使用了switchtab作為跳轉的方法

4.在js文件的回調方法里面無法使用setData?

解決方式:當你使用了回調函數后,上下文環境已經改變,var that = this,使用自定義的變量來改變數據

5.page的js方法在那里寫?

解決方式:在pages外面寫,或者在外部寫一個js方法,然后使用require引入

6.為什么我總是定位不到資源文件?

../,這個代表回退上一層,自己慢慢數

7.小程序的傳值問題

傳值分三種一種是點擊事件,一種是跳轉事件
點擊事件,需要在wxml里面聲明data-(變量名),然后在e-currentarget-dataset-(變量名)
跳轉事件,在navigator的url后面補上變量名和對應的值,例如跳轉到../../index/index,加上變量就是../../index/index?name=marco&sex=male
頁面回調的傳值有兩種方式:1.現在是在通過app.js的全局來調用 2.獲取上一個頁面的page,通過page.setData來更新數據,不過,還是希望tx能夠提供一種更優雅的方式吧

8.pages的取值問題

  1. data的值,需要在前面加上this.data.(變量名)
  2. 外部js里面的值,先導入js文件,var name = require(js url) 值為:name.value

9.target和currentarget的區別

用戶進行點擊事件,小程序會進行事件分發,先子控件,然后在分發到父控件
target是當前點擊事件
currentarger是事件分發

10.小程序button的默認邊框問題

因為button的css偽元素::after里面有一個border:1px solid rgba(0, 0, 0, 0.2),去掉就可以了

11.js里面的數據默認是64位的,所以自己小心

12.從網頁里面獲取到的數據可能是ISO或者其它類型的轉碼問題

實際上,一切都通常以內部的某種形式存儲為Unicode,但不要進行。我假設你得到了標志性的”åäö”類型的字符串,因為你使用ISO-8859作為你的字符編碼。有一個訣竅可以轉換這些字符。針對ISO字符定義了用於編碼和解碼查詢字符串的escape和unescape函數,而為UTF8字符定義了較新的encodeURIComponent和decodeURIComponent。
escape將擴展的ISO-8859-1字符(UTF代碼點U + 0080-U + 00ff)編碼為%xx(two-digit十六進制),而將U + 0100及以上的UTF碼點編碼為%uxxxx(%u,后跟four-digit十六進制)。例如, escape("å") == "%E5"和escape("あ") == "%u3042"。
encodeURIComponent percent-encodes將字符擴展為UTF8字節序列。例如,encodeURIComponent("å") == "%C3%A5"和encodeURIComponent("あ") == "%E3%81%82"。
所以你可以做:fixedstring = decodeURIComponent(escape(utfstring));
如果是發送請求的話,可以使用utfstring = unescape(encodeURIComponent(originalstring));

13.小程序尺寸單位問題

rpx:可以根據屏幕寬度進行自適應。規定屏幕寬為750rpx。如在 iPhone6 上,屏幕寬度為375px,共有750個物理像素,則750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。
rem:則是以640為設計

14,小程序遵循xhtml規范,html標簽全部都是小寫

小程序wxml在js傳值的時候(即data-變量名的形式),變量名是不區分大小寫的,可是js里面是區分大小寫的,所以在wxml里面設置的變量,在js里面都以小寫形式存在!然而在js傳值wxml(即{{變量名}})的時候,是區分大小寫的

15,小程序點擊事件傳遞

點擊事件的話,默認是會傳遞給上層的數據
所以,設置點擊事件的時候,需要攔截阻止事件分發給下層布局,將longtap轉成catchtap就可以了

16.小程序支付

微信小程序的appid和mch_id是相對的,簽名的時候注意場景支付的不一樣


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM