被小程序坑了這幾點(diǎn),你遇到了嗎?
聽人說:如果以前有個APP開發(fā)經(jīng)驗(yàn),那么轉(zhuǎn)小程序開發(fā)應(yīng)該并不難。
因?yàn)槟阒恍枰唵螌W(xué)習(xí)三種語言的寫法,就能輕松上手開發(fā)小程序。
雖然說的很有道理,我并不否認(rèn)小程序的邏輯功能都是使用JavaScript來實(shí)現(xiàn)的,但是在小程序中所有視覺元素和交互都需要通過WXML代碼來實(shí)現(xiàn),無法直接拖動元素來構(gòu)建界面。而且小程序并不是一個網(wǎng)頁,而是一個應(yīng)用界面,之前網(wǎng)頁前端常見的div和a標(biāo)簽都沒有,所以在開發(fā)小程序前要讀一下開發(fā)文檔。
我先簡單介紹自己遇到的幾個問題。
問題一:授權(quán)登錄,在電腦上的開發(fā)工具上顯示Ok,但是在手機(jī)上進(jìn)行調(diào)試時,沒有進(jìn)行數(shù)據(jù)請求,頁面無反應(yīng)。
思路:開始以為是自己沒有勾選詳情里面 的不校驗(yàn)安全域名、TLS 版本以及 HTTPS 證書這一行,后來勾了也沒有反應(yīng);還以為是使用系統(tǒng)代理的問題;我都一一用抓包工具查看是無請求數(shù)據(jù),壓根沒有向后臺發(fā)送請求。
解決:要在手機(jī)上打開調(diào)試,否則無法看到小程序的相關(guān)請求;真機(jī)上請求數(shù)據(jù)都是打開調(diào)試才有的;畢竟小程序還未發(fā)布,手機(jī)上只能是測試。
問題二:有些頁面請求數(shù)據(jù)頁面有效果,有些頁面在開發(fā)者工具上運(yùn)行很OK,數(shù)據(jù)也請求到了;但是在手機(jī)上進(jìn)行調(diào)試時,發(fā)現(xiàn)點(diǎn)擊進(jìn)去后頁面無反應(yīng);抓包工具顯示無請求數(shù)據(jù)。
思路:開始一直以為自己的請求數(shù)據(jù)寫錯了,一一檢查后發(fā)現(xiàn)都沒有問題;關(guān)鍵是在電腦上運(yùn)行沒有報(bào)錯;于是百度了很久都說是手機(jī)證書的問題;到***才發(fā)現(xiàn),這是小程序本身的bug。
解決:將app.json里面注冊的pages的頁面,嗯,就是那個請求不了數(shù)據(jù)的頁面,盡量往前挪,不要放在***面。
問題三:新建page時,我給工具設(shè)置的是自動保存;所以它會自動給添加新建的文件。每次Ctrl+S,刷新后,新建的頁面會多出來幾個。
解決:還是改為手動保存,添加的時候細(xì)心就好。
問題四:一些Page({data:{}}) 頁面里 data 的值 可以通過 that.setData 設(shè)置 但是不知道怎么取出來 用在相應(yīng)的位置。
解決:這個還多虧了我同事幫助,才讓我知道原來可以在page 之外定義全局變量 和page 內(nèi)的data中的變量 一一對應(yīng) 每次 賦初始值或者更改 先給全局變量賦值或者 做更改 然后把 更新后的全局變量賦值給 page 內(nèi) data 中 對應(yīng)的變量。或者進(jìn)行本地保存異地保存,然后獲取變量就可以。
我的小程序還沒開發(fā)完,估計(jì)后期還有很多問題,等開發(fā)完后再一一回想,進(jìn)而進(jìn)行總結(jié),今晚上就先從這簡單的問題開始,開始還有些不習(xí)慣小程序開發(fā),因?yàn)椴荒芤靡恍┎寮膊荒軐om進(jìn)行操作,還不能訪問外網(wǎng);很多東西感覺都有局限性,但是小程序團(tuán)隊(duì)也在一點(diǎn)一點(diǎn)的完善一些bug。
我也在小程序開發(fā)中了解到了很多自己還不知道的東西,比如.vertical-align: middle設(shè)置垂直劇中,還有display:flex布局等等。