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