微信小程序之頁面打開數量限制
阿新 • • 發佈:2019-03-03
gem str duration 交流 後臺 如果 圖片 clas navigate
無論是在小程序還是APP中,打開一個頁面其實就是創建了一個新的View對象,一層層疊加的。當點擊頁面的回退按鈕就是把當前頁面關閉。
這個過程中會涉及到一個問題,就是打開頁面的數量。在某些設計下,比如一個商品詳情頁面中會推薦其他的商品,這些商品點進去就是詳情頁面。詳情頁面中又有推薦,又可以點進去。這樣重復下去打開的頁面就會越來越多。
如果不做限制,當打開數量到一定程度的時候肯定會卡死了。在微信小程序中打開的頁面不能超過10個,達到10個頁面後,就不能再打開新的頁面。
之前出現這個問題,還以為是Bug,是不是卡死了,後來發現只要回退一個頁面又可以重新打開了。才發現了最大10個頁面的限制。
特意調研了其他公司的小程序,發現確實有這個問題。我這邊就做了一個提示告訴用戶不能打開這麽多頁面,不然用戶會一臉茫然,點著點著就點不了。
每個頁面都會需要跟後臺交互加載數據,我這邊在統一的Http請求中進行判斷。
var pages = getCurrentPages(); console.log("pages:" + pages.length); if (pages.length == 10) { wx.showToast({ title: "頁面打開太多,請回退關閉幾個頁面", icon: 'none', duration: 2000 }) setTimeout(() => { wx.navigateBack({ }) }, 2000) return; }
當打開第10個頁面的時候,給出提示,然後跳回上一個頁面。
歡迎加入我的知識星球,一起交流技術,免費學習猿天地的課程(http://cxytiandi.com/course)
微信小程序之頁面打開數量限制