很(hěn)多(duō)看(kàn)的(de)懂(dǒng)小(xiǎo)程序的(de),都(dōu)已經賺了(le)第一(yī)↑桶金(jīn)了(le) 。而你(nǐ)還(hái)在觀望,要(yào)不(bù)要(yào)學習(xí)小(xiǎo)程序開(kāi)↑發,等後面從(cóng)事(shì)開(kāi)發小(xiǎo)程序的(de)人(rén)越來(lái)越多(duō),那(nà)時(shí)你(nǐ)才✘要(yào)開(kāi)始人(rén)坑,是(shì)不(bù)是(shì)已經都(dōu)太遲了(le),那(nà)時¶(shí)公司要(yào)求你(nǐ)的(de)技(jì)術(shù)水(shuǐ)平已經不(bù)再停留在初級工(gōng)程師(shī)了(le),要(yào)的(d™e)是(shì)那(nà)些(xiē)已經從(cóng)事(shì)這(zhè)方面開(kāi)發多(duō)年(nián)的(de)中高(g∑āo)級開(kāi)發人(rén)員(yuán)了(le) 。所以,我們做(zuò)開(kāi)發的(≠de),一(yī)定不(bù)要(yào)觀望,動手開(kāi)始學習(xí)吧(ba)!
今天分(fēn)享的(de)文(wén)章(zhāng),主要(yào)先分(fēn)享一(yī)些(xiē)小(xiǎo)程序開(kāi)發需₹要(yào)注意的(de)問(wèn)題。
1、tabbar在切換時(shí)頁面數(shù)據無法刷新
tabbar的(de)實現(xiàn)可(kě)能(néng)是(shì)顯示和(hé)隐藏view,所以,不(bù)會(huì)一(yī)直調用(yòng)page.onLoad()方法,可(kě)以嘗試把代碼邏輯寫在page.onShow()裡(lǐ)面;
2、域名必須是(shì)HTTPS
非HTTPS的(de)域名不(bù)被微(wēi)信小(xiǎo)程序允許
3、wx.navigateTo無法跳(tiào)轉到(dào)帶tabbar的(de)頁面
帶有(yǒu)tabbar的(de)頁面,必須使用(yòng)wx.switchTab進行(xíng)跳(tiào)轉
4、input組件(jiàn)placeholder字體(tǐ)顔色
寫在placeholder-class裡(lǐ)面的(de)color并不(bù)生(shēng)效,需要(yào)寫在placeholder-style裡(lǐ)面就(jiù)可(kě)以了(le)
5、getPhoneNumber獲取手機(jī)号
目前該接口針對(duì)非個(gè)人(rén)開(kāi)發者,且完成了(le)認證的(de)小(xiǎo)程序開(kāi)放(fàng)。個(gè)人(rén)開(kāi)發者是→(shì)沒辦法調用(yòng)這(zhè)個(gè)API的(de)
6、如(rú)何獲取shareTickets
獲取shareTickets需要(yào)在app.onLaunch或者app.onShow裡(lǐ)面才能(néng)獲取到(dào),而不(bù)是(shì)page.onShow,請(qǐng)一(yī)定要(yào)注意。
注:建議(yì)在app.onShow裡(lǐ)面去(qù)獲取,app.onLaunch不(bù)是(shì)一(yī)直會(huì)執行(xíng)
7、小(xiǎo)程序中canvas的(de)圖片不(bù)支持base64格式
base64格式圖片,在開(kāi)發工(gōng)具裡(lǐ)面可(kě)以正常顯示,真機(jī)上(shàng)沒有(yǒu)顯示。建議(yì)修β改成帶https開(kāi)頭的(de)url形式
8、wx.previewImage圖片預覽
預覽的(de)圖片URL必須是(shì)HTTPS開(kāi)頭,不(bù)能(néng)是(shì)本地(dì)圖片
9、API老(lǎo)版本兼容
可(kě)以用(yòng)wx.canIUse或者wx.getSystemInfoSync來(lái)進行(xíng)判斷,老(lǎo)版本給出相(xiàng)應提示即可(kě)
10、wx.playVoice音(yīn)頻(pín)播放(fàng)
必須保證音(yīn)頻(pín)文(wén)件(jiàn)已經在本地(dì),比如(rú)在wx.startRecord後,可(kě)以獲取到(dào)filePath。或者提前調用(yòng)wx.downloadFile來(lái)下(xià)載資源文(wén)件(jiàn),然後再播放(fàng)
11、設置最外(wài)層标簽的(de)margin-bottom在IOS下(xià)不(bù)生(shēng)效
margin-bottom在安卓和(hé)開(kāi)發工(gōng)具裡(lǐ)面都(dōu)正常,就('jiù)是(shì)在IOS下(xià)不(bù)起效,建議(yì)改成padding-bottom
12、獲取系統信息
wx.getSystemInfo,可(kě)得(de)到(dào)系統語言、屏幕寬高(gāo)、微(wēi)信版本号、操作(zuò)系統、設備像素比、客戶端₩甚礎庫版本等信息
13、input textarea是(shì)APP的(de)原生(shēng)組件(jiàn),z-index層級最高(gāo)
有(yǒu)做(zuò)過搜索框的(de)同學,可(kě)能(néng)會(huì)遇到(dào)IOS下(xià)面,設置icon的(de)z-index後,依然無法顯示。建議(yì)做(zuò)顯示隐藏效果:點擊之前是(shì)一(yī)個(gè)view,點擊之後隐藏view,顯示input~
14、小(xiǎo)程序如(rú)何冷(lěng)啓動
小(xiǎo)程序的(de)機(jī)制(zhì),是(shì)在退出五分(fēn)鐘(zhōng)內(nèi)進入,就(jiù)會(huì)顯示的(de)是(shì)σ退出前的(de)頁面,如(rú)果你(nǐ)希望進入小(xiǎo)程序都(dōu)相(xiàng)當于冷(γlěng)啓動的(de)方式,直接進入主頁面。你(nǐ)可(kě)以在page的(de)onUnload裡(lǐ)面裡(lǐ)面set一(yī)個(gè)值,然後在app的(de)onShow的(de)時(shí)候判斷這(zhè)個(gè)值,然後決定是(shì)否跳(tiào)到(dào)首頁~
15、一(yī)段文(wén)字如(rú)何換行(xíng)
小(xiǎo)程序中唯一(yī)可(kě)以實現(xiàn)換行(xíng)的(de)标簽組件(jiàn)是(shì)text
注:text中不(bù)支持
,隻能(néng)使用(yòng) 進行(xíng)換行(xíng)
16、回到(dào)頁面頂部
回到(dào)頁面頂部,有(yǒu)兩種方式:
1、使用(yòng)scroll-view設置為(wèi)縱向滾動,然後設置scroll-top值;
2、使用(yòng)wx.pageScrollTo方法,此方法是(shì)1.4.0開(kāi)始支持,所以要(yào)做(zuò)低(dī)版本兼容;
17、如(rú)何去(qù)掉自(zì)定義button灰色的(de)圓角邊框
主要(yào)是(shì)button的(de)僞元素設置了(le)樣式,去(qù)掉即可(kě): button::after{ display: none;}