您好,登錄后才能下訂單哦!
本篇內容介紹了“微信小程序中wx.previewImage怎么用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
小知識
wx.previewImage是微信小程序官方提供的預覽圖片功能的api。
在新頁面中全屏預覽圖片。預覽的過程中用戶可以進行保存圖片、發(fā)送給朋友等操作。
那么他有哪些坑呢?
我遇到的問題藏得比較深,我是在使用wxParse解析富文本時發(fā)現的。wxParse在解析img時會給它加上點擊事件,那么這個點擊事件是什么呢?
圖在下面:
從中可以看到是微信的圖片預覽功能。其中that.setData({isPreview:true})
是我加上去用來判斷是否點擊了圖片,本身是沒有的,此時先忽略掉。
首先,點擊圖片預覽時,會終止頁面一切正在執(zhí)行的操作,這是為什么呢?我猜測是觸發(fā)了頁面的onHide函數,我在onHide中打log時果不其然,驗證了我是正確的。
當你再次點擊圖片回去時,會再次觸發(fā)頁面的onShow事件。所以,當你在onHide或者onShow函數里有執(zhí)行的操作的時候就要注意了,這兩個函數都會被觸發(fā),所以這時候就需要判斷,這兩個函數被觸發(fā)是來源于正常的頁面加載隱藏還是來源于點擊圖片預覽,于是便有了我上面在wxParse的源碼wxParse.js里的wxParseImgTap里加了一句that.setData({isPreview:true})
,而后我們可以用isPreview來判斷onShow和onHide是否是被預覽圖片觸發(fā)的。
此時我們并沒有解決頁面事件被終止的事實,因為線程被終止了。因為js里是單線程的,預覽圖片時會向服務器請求圖片src,所以此時其他的異步操作便被停止,因為預覽圖片是一個同步操作,所以當你點擊圖片時,圖片預覽優(yōu)先級最高,其他動作暫停,當你再次點擊圖片回到原樣時,圖片預覽完成,在開發(fā)者工具里會自動繼續(xù)之前頁面被暫停的動作,但是真機調試卻不會。
“微信小程序中wx.previewImage怎么用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。