微信小程序出現(xiàn)wx.navigateTo頁(yè)面不跳轉(zhuǎn)問(wèn)題的解決方法
本文實(shí)例講述了微信小程序出現(xiàn)wx.navigateTo頁(yè)面不跳轉(zhuǎn)問(wèn)題的解決方法。分享給大家供大家參考,具體如下:
今天在做微信小程序的時(shí)候,做的商品購(gòu)買(mǎi)流程。流程是這樣的:
商品展示-->商品詳情-->下單頁(yè)面-->下單詳情頁(yè)面-->支付結(jié)果頁(yè)面-->跳轉(zhuǎn)訂單詳情頁(yè)面。
但是在支付成功之后,點(diǎn)擊按鈕跳轉(zhuǎn),發(fā)現(xiàn)怎么也跳轉(zhuǎn)不了到訂單詳情頁(yè)面,前后log都能打印出來(lái),證明已經(jīng)執(zhí)行了wx.navigateTo
方法,但是跳轉(zhuǎn)不成功,而且,坑爹的是也不報(bào)錯(cuò)。
翻看微信小程序開(kāi)發(fā)文檔,參考鏈接:
https://mp.weixin.qq.com/debug/wxadoc/dev/api/ui-navigate.html#wxnavigatetoobject
其中有一行提到:
就是這一句:“注意:為了不讓用戶(hù)在使用小程序時(shí)造成困擾,我們規(guī)定頁(yè)面路徑只能是五層,請(qǐng)盡量避免多層級(jí)的交互方式。”數(shù)一數(shù)我的跳轉(zhuǎn)頁(yè)面,當(dāng)然你可以可以看微信開(kāi)發(fā)者工作的預(yù)覽視圖右上角,會(huì)出現(xiàn)您當(dāng)前調(diào)試的頁(yè)面有5個(gè)這樣的提示。
再貼一下我的頁(yè)面跳轉(zhuǎn)情況:
① 商品展示-->② 商品詳情-->③ 下單頁(yè)面-->④ 下單詳情頁(yè)面-->⑤ 支付結(jié)果頁(yè)面-->⑥ 跳轉(zhuǎn)訂單詳情頁(yè)面。
就在最后一步的時(shí)候已經(jīng)跳轉(zhuǎn)不過(guò)去了,此時(shí)前面已經(jīng)使用wx.navigateTo
跳轉(zhuǎn)了五個(gè)頁(yè)面,剛好達(dá)到限制。
然后我試著在下單頁(yè)面跳轉(zhuǎn)到下單詳情頁(yè)面的時(shí)候換用:wx.redirectTo()
方法跳轉(zhuǎn),然后再編譯執(zhí)行,發(fā)現(xiàn)跳轉(zhuǎn)到訂單詳情頁(yè)面成功。然后我把一些不需要返回之后還回到當(dāng)前頁(yè)面的跳轉(zhuǎn)換成了wx.redirectTo()
來(lái)跳轉(zhuǎn),解決了wx.navigateTo
跳轉(zhuǎn)不成功的問(wèn)題。
wx.redirectTo()
方法,是打開(kāi)新的頁(yè)面,并關(guān)閉當(dāng)前的頁(yè)面。這個(gè)理解起來(lái)可以使用android的啟動(dòng)模式來(lái)理解。就像一個(gè)水桶,可以說(shuō)一個(gè)棧,這個(gè)桶只能裝得下5個(gè)西瓜,本來(lái)水桶是沒(méi)有西瓜的,然后我們打開(kāi)一個(gè)頁(yè)面使用wx.navigateTo
方法啟動(dòng)的時(shí)候,就往水桶里邊扔一個(gè)西瓜,這樣五個(gè)滿了之后,再打開(kāi)新的頁(yè)面,再往水桶里邊扔西瓜,那肯定是裝不下的了。如果我們使用的是wx.redirectTo()
,當(dāng)我們打開(kāi)一個(gè)新頁(yè)面時(shí),也會(huì)往桶里扔一個(gè)西瓜,然后會(huì)把當(dāng)前的這個(gè)在桶里的西瓜,吃掉,這樣就留出了空間。
所以,在微信小程序頁(yè)面跳轉(zhuǎn)中,如果當(dāng)前的頁(yè)面,在跳轉(zhuǎn)之后是不必要的,沒(méi)有返回到這個(gè)頁(yè)面的需求的時(shí)候,盡量使用wx.redirectTo()
來(lái)跳轉(zhuǎn)打開(kāi)新的頁(yè)面,避免出現(xiàn)上述的問(wèn)題。
希望本文所述對(duì)大家微信小程序開(kāi)發(fā)有所幫助。
- 微信小程序跳轉(zhuǎn)到其他網(wǎng)頁(yè)(外部鏈接)的實(shí)現(xiàn)方法
- 微信小程序?qū)崿F(xiàn)跳轉(zhuǎn)的幾種方式總結(jié)(推薦)
- 微信小程序 跳轉(zhuǎn)頁(yè)面的兩種方法詳解
- 微信小程序按鈕點(diǎn)擊跳轉(zhuǎn)頁(yè)面詳解
- 微信小程序 頁(yè)面跳轉(zhuǎn)傳參詳解
- 微信小程序 頁(yè)面跳轉(zhuǎn)和數(shù)據(jù)傳遞實(shí)例詳解
- 微信小程序 詳解頁(yè)面跳轉(zhuǎn)與返回并回傳數(shù)據(jù)
- 微信小程序?qū)崿F(xiàn)點(diǎn)擊文字頁(yè)面跳轉(zhuǎn)功能【附源碼下載】
- 微信小程序鏈接傳參并跳轉(zhuǎn)新頁(yè)面
- 微信小程序?qū)崿F(xiàn)跳轉(zhuǎn)詳情頁(yè)面
相關(guān)文章
精通Javascript系列之?dāng)?shù)值計(jì)算
在JS中如果希望某個(gè)變量包含一個(gè)數(shù)值,那么無(wú)需限定其必須是整數(shù)或者是浮點(diǎn)數(shù),下面來(lái)個(gè)例子2011-06-06那些項(xiàng)目中常見(jiàn)的TypeScript錯(cuò)誤總結(jié)
這篇文章主要給大家總結(jié)介紹了一些項(xiàng)目中常見(jiàn)的TypeScript錯(cuò)誤的相關(guān)資料,如果你想查看所有的錯(cuò)誤信息和錯(cuò)誤碼,可以瀏覽TypeScript的源代碼倉(cāng)庫(kù),當(dāng)然隨著?ts?版本的更新,官網(wǎng)也會(huì)逐漸增加更多新的類(lèi)型錯(cuò)誤,需要的朋友可以參考下2022-03-03JS 循環(huán)li添加點(diǎn)擊事件 (閉包的應(yīng)用)
這篇文章主要介紹了js循環(huán)li添加點(diǎn)擊事件 (閉包的應(yīng)用)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12JavaScript中undefined和null的區(qū)別
這篇文章主要介紹了 JavaScript中undefined和null的區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-05-05javascript模擬php函數(shù)in_array
就是判斷一個(gè)元素是否存在于數(shù)組中的函數(shù),既然js里string都有indexOf函數(shù),為什么不在Array對(duì)象里設(shè)置一個(gè)這樣的函數(shù)呢,其實(shí)就用indexOf這個(gè)思想挺好的,不知道制定JS標(biāo)準(zhǔn)的人是基于什么考慮,把這樣一個(gè)如此常用的功能沒(méi)考慮在內(nèi)的。2015-04-04解決wx.onMenuShareTimeline出現(xiàn)的問(wèn)題
本文主要介紹解決wx.onMenuShareTimeline出現(xiàn)的問(wèn)題,這里提供了示例代碼作為參考,有需要的小伙伴可以參考下2016-08-08