知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷(xiāo)的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷(xiāo)工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
您當(dāng)前位置>首頁(yè) » 新聞資訊 » 小程序相關(guān) >
如何跳出小程序五級(jí)頁(yè)面的限制
發(fā)表時(shí)間:2022-9-14
發(fā)布人:葵宇科技
瀏覽次數(shù):122
前言:做小程序開(kāi)發(fā),就要在微信的規(guī)則內(nèi)玩耍。最近做的小程序經(jīng)常會(huì)有個(gè)報(bào)錯(cuò):RangeError: Maximum call stack size exceeded。這意思是說(shuō)小程序頁(yè)面超過(guò)5級(jí)跳轉(zhuǎn)了,應(yīng)該怎么解決呢?
微信小程序官方文檔中,關(guān)于頁(yè)面的跳轉(zhuǎn),有三個(gè)API,兩個(gè)跳轉(zhuǎn)新頁(yè)面的 API 分別為wx.navigateTo和wx.redirectTo,還有一個(gè) API 名為wx.navigateBack,它用于返回上級(jí)頁(yè)面。
wx.navigateBack在小程序的初始版本中只能回到上一個(gè)頁(yè)面,在最新版本(0.10.102800)的更新中給navigateBack添加了一個(gè)參數(shù)delta,用于決定需要返回幾層頁(yè)面。
navigator組件的默認(rèn)跳轉(zhuǎn)方式與wx.navigateTo相同,而如果添加redirect屬性,則與wx.redirectTo的跳轉(zhuǎn)方式相同。
wx.navigateTo在官方文檔中描述如下:
保留當(dāng)前頁(yè)面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁(yè)面,使用wx.navigateBack可以返回到原頁(yè)面。
通過(guò)navigateTo跳轉(zhuǎn)后,可點(diǎn)擊左上角的按鈕返回上一個(gè)頁(yè)面。而如果多次調(diào)用navigateTo之后,就需要返回多次才能回到初始頁(yè)面,這種交互更像是客戶端打開(kāi)一個(gè)新的view。因此,官方在此處有一個(gè)限制(最多五級(jí))。
注意:為了不讓用戶在使用小程序時(shí)造成困擾,我們規(guī)定頁(yè)面路徑只能是五層,請(qǐng)盡量避免多層級(jí)的交互方式。
不過(guò)上述五層的限制只是針對(duì)navigateTo,redirectTo則無(wú)此限制。因?yàn)閞edirectTo的行為是:
關(guān)閉當(dāng)前頁(yè)面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁(yè)面。
因此,當(dāng)頁(yè)面?zhèn)€數(shù)超過(guò)五層時(shí),應(yīng)該用redirectTo來(lái)替換navigateTo,就可以避免Maximum call stack size exceeded的異常,但是redirectTo關(guān)閉當(dāng)前頁(yè)面的做法,有些場(chǎng)景并不適用,比如,從列表頁(yè)進(jìn)詳情頁(yè)面,如果進(jìn)入詳情頁(yè)面時(shí),關(guān)閉列表頁(yè)面,再次back時(shí),就沒(méi)辦法回到列表頁(yè)面。
通過(guò)redirectTo跳轉(zhuǎn)后,只是無(wú)法返回跳轉(zhuǎn)前的頁(yè)面,但并不是無(wú)法調(diào)用navigateBack,而是調(diào)用之后,會(huì)回到使用redirectTo跳轉(zhuǎn)前的上一個(gè)頁(yè)面。
頁(yè)面??梢酝ㄟ^(guò)getCurrentPages方法獲取:
getCurrentPages()函數(shù)用于獲取當(dāng)前頁(yè)面棧的實(shí)例,以數(shù)組形式按棧的順序給出,第一個(gè)元素為首頁(yè),最后一個(gè)元素為當(dāng)前頁(yè)面。
這個(gè)方法也比較適用,在多層頁(yè)面跳轉(zhuǎn)中,你可能會(huì)用的到。
相關(guān)案例查看更多
相關(guān)閱讀
- 云南建站公司
- 云南網(wǎng)站建設(shè)首頁(yè)
- 云南網(wǎng)站建設(shè)快速優(yōu)化
- typescript
- 小程序退款
- 昆明網(wǎng)站開(kāi)發(fā)
- 云南網(wǎng)站制作哪家好
- 百度排名
- 生成海報(bào)
- web
- 楚雄小程序開(kāi)發(fā)
- 網(wǎng)站建設(shè)百度官方
- 貴州小程序開(kāi)發(fā)
- 網(wǎng)站開(kāi)發(fā)公司哪家好
- 報(bào)廢車(chē)拆解回收管理系統(tǒng)
- 網(wǎng)站優(yōu)化公司
- 昆明小程序開(kāi)發(fā)
- 昆明軟件定制
- 網(wǎng)站維護(hù)
- 云南網(wǎng)站建設(shè)電話
- 小程序制作
- 網(wǎng)站開(kāi)發(fā)哪家好
- 模版消息
- 百度小程序
- 云南網(wǎng)站建設(shè)公司
- 云南網(wǎng)站建設(shè)開(kāi)發(fā)
- 搜索引擎自然排名
- 人口普查小程序
- 報(bào)廢車(chē)管理
- 網(wǎng)站建設(shè)公司地址