摘要:全屏蒙版彈窗遮不住的層級(jí)還是很高的,當(dāng)出現(xiàn)全屏蒙版彈窗時(shí),是無(wú)法蓋住的,可以調(diào)用微信的,不過(guò)需要注意兼容低版本在類(lèi)設(shè)置的顏色并沒(méi)有變化。
從6月份開(kāi)始到現(xiàn)在,寫(xiě)小程序?qū)⒔?個(gè)月了
開(kāi)發(fā)時(shí)給自己埋了不少坑~
給大家分享下我的填坑經(jīng)驗(yàn)~~
1.小程序的組件修改不能觸發(fā)頁(yè)面刷新?
需要在父級(jí)文件上保存下才會(huì)觸發(fā)
(使用wepy開(kāi)發(fā))
2.接口請(qǐng)求出現(xiàn)的問(wèn)題?
記得勾選調(diào)試開(kāi)發(fā)工具上 不校驗(yàn)合法域名
3.navigateTo跳轉(zhuǎn)頁(yè)面不生效?
頁(yè)面棧最多支持10層,超過(guò)10層無(wú)法后退(10層之后有其他方法解決~)
navigateTo, redirectTo 只能打開(kāi)非 tabBar 頁(yè)面。
switchTab 只能打開(kāi) tabBar 頁(yè)面。
reLaunch 可以打開(kāi)任意頁(yè)面。
4.onload只會(huì)在頁(yè)面加載時(shí)候執(zhí)行,比如用navigateBack回到之前的頁(yè)面的時(shí)候,之前那個(gè)頁(yè)面不會(huì)再執(zhí)行onload,
所以我們要觸發(fā)某些函數(shù)的時(shí)候,我們可以放在onshow里面,即使是navigateBack回來(lái)也會(huì)執(zhí)行
5.子組件的onload會(huì)在父組件onload之前執(zhí)行,有一個(gè)頁(yè)面加載完成3s后展示飄窗的需求,飄窗會(huì)立即被加載
可以在父子組件用EventHandle(類(lèi)似vue的eventBus)通信下,以確定子組件加載時(shí)機(jī)~
6.操作用戶(hù)頭像(比如點(diǎn)擊跳轉(zhuǎn))
open-data類(lèi)似自定義組件,上面無(wú)法綁定事件,簡(jiǎn)單實(shí)現(xiàn)可以用navigator包裹open-data,不用寫(xiě)js代碼即可實(shí)現(xiàn)點(diǎn)擊跳轉(zhuǎn)頁(yè)面。navigator相當(dāng)于html的a元素,默認(rèn)為inline,可修改display樣式為block
navigator組件屬性 openType 可選值 "navigate"、"redirect"、"switchTab",對(duì)應(yīng)于wx.navigateTo、wx.redirectTo、wx.switchTab的功能
7.同一個(gè)頁(yè)面想要2個(gè)分享?
需要在Page中添加onShareAppMessage方法,否則點(diǎn)右上角菜單不會(huì)出現(xiàn)轉(zhuǎn)發(fā)選項(xiàng)
除了右上角菜單外,可以使用button組件的open-type="share"
button組件和右上角的點(diǎn)點(diǎn)點(diǎn)都是調(diào)用onShareAppMessage方法
通過(guò)參數(shù)中的from字段區(qū)分事件來(lái)源是菜單menu還是按鈕button(某需求要求兩個(gè)分享不同)
通過(guò)onShareAppMessage方法返回的對(duì)象來(lái)定制轉(zhuǎn)發(fā)界面顯示的內(nèi)容
8.分享成功后的打點(diǎn)消失了?
是的,微信取消支持這個(gè)功能了。。。
在原來(lái)的分享接口中,用戶(hù)發(fā)起分享動(dòng)作之后,可以通過(guò) success 、fail、complete等回調(diào)來(lái)判斷用戶(hù)是否完成了最后的分享動(dòng)作。老代碼也是分享成功的通過(guò)分享success回調(diào)函數(shù)內(nèi)打log的記錄。由于官方后來(lái)取消了這個(gè)功能,所以分享的打點(diǎn)要放到外面來(lái)。
9.canvas相關(guān)
要進(jìn)行繪制,則canvas組件必須真實(shí)地被寫(xiě)在頁(yè)面上,而且其wx:if不能為false。
canvas是原生組件,層級(jí)是最高的,所以頁(yè)面中z-index設(shè)置不生效。
于是把canvas放置在屏幕之外,如設(shè)置position:fixed;left:750rpx;
canvas的api,在頁(yè)面中,api的參數(shù)this不是必填的,在組件中就是必填的,頁(yè)面中可不填。
在繪制canvas時(shí),由于draw是異步操作,需要把canvasToTempFilePath寫(xiě)到draw成功的回調(diào)里
(起初是繪制內(nèi)容少很快,用同步寫(xiě)也不會(huì)出問(wèn)題)
繪制出來(lái)的圖片如果覺(jué)得有點(diǎn)糊,請(qǐng)?jiān)赾anvas中等比例放大繪制尺寸~
但是也不能太大,不然在安卓上會(huì)有bug(限制范圍貌似在2000px)。
10.全屏蒙版彈窗遮不住tabBar?
tabBar的層級(jí)還是很高的,當(dāng)出現(xiàn)全屏蒙版彈窗時(shí),是無(wú)法蓋住tabBar的,
可以調(diào)用微信的hidetabbar,不過(guò)需要注意兼容低版本
11.在placeholder-class類(lèi)設(shè)置的顏色并沒(méi)有變化。
placeholder的顏色只能通過(guò)placeholder-style的方式設(shè)置
placeholder-style="color:#ccc"
1.只用開(kāi)發(fā)者工具測(cè)試能行嗎?
有些功能是版本限制的,開(kāi)發(fā)者工具的基礎(chǔ)庫(kù)版本可以調(diào)整,但是無(wú)法設(shè)置微信版本,還是需要真機(jī)。
2.掃描新生成的二維碼會(huì)跳轉(zhuǎn)到線上的鏈接?
以前是測(cè)試的時(shí)候需要用微信開(kāi)發(fā)者工具來(lái)測(cè)試在編譯模式,把二維碼的具體信息添加進(jìn)去
在最新的開(kāi)發(fā)工具中,有一項(xiàng) 二維碼編譯 模式,解決了跳轉(zhuǎn)線上小程序鏈接的問(wèn)題
3.開(kāi)發(fā)者工具上看效果沒(méi)問(wèn)題,但是在真機(jī)上測(cè)試不行?
一般說(shuō)來(lái)都是真機(jī)緩存的影響,微信開(kāi)發(fā)者工具是可以一鍵清理全部緩存
安卓和ios的上一般都是刪除這個(gè)小程序(注意 不是刪除使用記錄)
再有就是,刪除完畢后可以進(jìn)入小程序的設(shè)置選項(xiàng)查看權(quán)限的開(kāi)關(guān)來(lái)確定是否真的完全清除。
4.清除緩存后還有問(wèn)題?
這時(shí)候就需要使用vConsole了
開(kāi)發(fā)版和體驗(yàn)版可以點(diǎn)擊真機(jī)小程序頁(yè)面右上角的...按鈕打開(kāi)的菜單項(xiàng)“打開(kāi)調(diào)試”來(lái)開(kāi)啟 vConsole
正式版沒(méi)有“打開(kāi)調(diào)試”的菜單項(xiàng),可以先通過(guò)開(kāi)發(fā)版和體驗(yàn)版來(lái)開(kāi)啟 vConsole,然后再打開(kāi)正式版。
或者預(yù)埋一個(gè)隱藏操作,比如連續(xù)點(diǎn)擊某個(gè) Button 多次,然后調(diào)用 API 接口 wx.setEnableDebug 來(lái)打開(kāi)。
5.如何遠(yuǎn)程調(diào)試真機(jī)?
vConsole一般用來(lái)看有無(wú)報(bào)錯(cuò),如果是簡(jiǎn)單的問(wèn)題,咱們直接修改代碼就可以改好了了
復(fù)雜的情況還需要調(diào)試,手機(jī)畢竟看日志不方便,也不能斷點(diǎn)調(diào)試、修改樣式
此時(shí)需要借助遠(yuǎn)程調(diào)試來(lái)快速定位復(fù)雜問(wèn)題~
使用開(kāi)發(fā)者工具的遠(yuǎn)程調(diào)試窗口只要用手機(jī)掃一掃就可以連通手機(jī)和模擬器之間的數(shù)據(jù)鏈接,調(diào)試的上下文會(huì)自動(dòng)切換到 VM Context 1
上傳代碼的話,需要勾選 樣式自動(dòng)補(bǔ)全
一次沒(méi)通過(guò),請(qǐng)?jiān)偬峤灰淮伟?(
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/98315.html
摘要:海報(bào)生成示例最近智酷君在做小程序生成海報(bào)的項(xiàng)目中遇到一些棘手的問(wèn)題,在網(wǎng)上查閱了各種資料,也踩扁了各種坑,智酷君希望把這些填坑經(jīng)驗(yàn)整理一下分享出來(lái),避免后來(lái)的兄弟重復(fù)掉坑。 showImg(https://segmentfault.com/img/bVbs5V8?w=343&h=517);海報(bào)生成示例 最近智酷君在做[小程序]canvas生成海報(bào)的項(xiàng)目中遇到一些棘手的問(wèn)題,在網(wǎng)上查閱了...
摘要:組件模板與組件數(shù)據(jù)結(jié)合后生成的節(jié)點(diǎn)樹(shù),將被插入到組件的引用位置上。事件用于子組件向父組件傳遞數(shù)據(jù),可以傳遞任意數(shù)據(jù)。官方文檔往期回顧填坑手冊(cè)小程序生成海報(bào)一拆彈時(shí)刻小程序生成海報(bào)二 showImg(https://user-gold-cdn.xitu.io/2019/6/19/16b6e94bcde767a1?w=1069&h=652&f=jpeg&s=120912); 小程序目錄結(jié)構(gòu)...
摘要:如果需要類(lèi)似即時(shí)響應(yīng)的,應(yīng)該選用后者,因?yàn)槟苁褂脕?lái)實(shí)現(xiàn)即時(shí)取到值,比如商品搜索框輸入手機(jī)關(guān)鍵字,應(yīng)出現(xiàn),等候選詞這樣的場(chǎng)景。 微信小程序 傳值取值的幾種方法總結(jié) 列表index下標(biāo)取值 頁(yè)面?zhèn)髦?form表單取值 1. 列表index下標(biāo)取值 實(shí)現(xiàn)方式是:data-index={{index}}挖坑及e.currentTarget.dataset.index來(lái)填坑即可 1.1 生成...
摘要:利用這篇教程存儲(chǔ)一些常用的微信小程序開(kāi)發(fā)技巧,方便查找。但是第一,微信小程序是國(guó)內(nèi)的,有中文文檔,雖然它的文檔說(shuō)明有點(diǎn)坑,但好歹有文檔,閱讀理解對(duì)小伙伴們來(lái)說(shuō)不是問(wèn)題。 Create by jsliang on 2018-9-17 17:58:56 Recently revised in 2018-11-19 08:19:13 ?Hello 小伙伴們,如果覺(jué)得本文還不錯(cuò),記得給個(gè)...
閱讀 3701·2021-11-19 09:56
閱讀 1486·2021-09-22 15:11
閱讀 1142·2019-08-30 15:55
閱讀 3385·2019-08-29 14:02
閱讀 2926·2019-08-29 11:07
閱讀 445·2019-08-28 17:52
閱讀 3181·2019-08-26 13:59
閱讀 447·2019-08-26 13:53