微信小程序出现wx.navigateTo页面不跳转问题的解决方法
2017-12-26 11:28
1441 查看
今天在做微信小程序的时候,做的商品购买流程。流程是这样的:
商品展示-->商品详情-->下单页面-->下单详情页面-->支付结果页面-->跳转订单详情页面。
但是在支付成功之后,点击按钮跳转,发现怎么也跳转不了到订单详情页面,前后log都能打印出来,证明已经执行了
wx.navigateTo方法,但是跳转不成功,而且,坑爹的是也不报错。
翻看微信小程序开发文档,参考链接:
https://mp.weixin.qq.com/debug/wxadoc/dev/api/ui-navigate.html#wxnavigatetoobject
其中有一行提到:
就是这一句:“注意:为了不让用户在使用小程序时造成困扰,我们规定页面路径只能是五层,请尽量避免多层级的交互方式。”数一数我的跳转页面,当然你可以可以看微信开发者工作的预览视图右上角,会出现您当前调试的页面有5个这样的提示。
再贴一下我的页面跳转情况:
① 商品展示-->② 商品详情-->③ 下单页面-->④ 下单详情页面-->⑤ 支付结果页面-->⑥ 跳转订单详情页面。
就在最后一步的时候已经跳转不过去了,此时前面已经使用
wx.navigateTo跳转了五个页面,刚好达到限制。
然后我试着在下单页面跳转到下单详情页面的时候换用:
wx.redirectTo()方法跳转,然后再编译执行,发现跳转到订单详情页面成功。然后我把一些不需要返回之后还回到当前页面的跳转换成了
wx.redirectTo()来跳转,解决了
wx.navigateTo跳转不成功的问题。
wx.redirectTo()方法,是打开新的页面,并关闭当前的页面。这个理解起来可以使用android的启动模式来理解。就像一个水桶,可以说一个栈,这个桶只能装得下5个西瓜,本来水桶是没有西瓜的,然后我们打开一个页面使用
wx.navigateTo方法启动的时候,就往水桶里边扔一个西瓜,这样五个满了之后,再打开新的页面,再往水桶里边扔西瓜,那肯定是装不下的了。如果我们使用的是
wx.redirectTo(),当我们打开一个新页面时,也会往桶里扔一个西瓜,然后会把当前的这个在桶里的西瓜,吃掉,这样就留出了空间。
所以,在微信小程序页面跳转中,如果当前的页面,在跳转之后是不必要的,没有返回到这个页面的需求的时候,尽量使用
wx.redirectTo()来跳转打开新的页面,避免出现上述的问题。
希望本文所述对大家微信小程序开发有所帮助。
您可能感兴趣的文章:
相关文章推荐
- 微信小程序——wx.navigateTo中url无法跳转问题(app.json中配置的tabBar与wx.navigateTo中url引用相同页面导致)(2017/12)
- 微信小程序:wx.navigateTo中url无法跳转问题(app.json中配置的tabBar与wx.navigateTo中url引用相同页面导致)
- 微信小程序 navigate页面跳转问题解决方案
- 微信小程序 wx.navigateTo和wx.redirectTo 不跳转问题
- 微信小程序wx.navigateTo页面不跳转
- 微信小程序跳转问题:wx.redirectTo、wx.navigateTo、wx.reLaunch、wx.switchTap、wx.navigateBack区别
- 微信平台中get传递跳转链接-get值为网址-出现not find file等问题解决方法。
- 小程序 wx.navigateTo和wx.redirectTo 不跳转问题
- 微信小程序-页面跳转失败WAService.js:3 navigateTo:fail url not in app.json
- 微信小程序wx.redirectTo、wx.navigateTo跳转失败
- 微信小程序跳转页面失效——navigateTo
- 微信小程序 wx.login解密出现乱码的问题解决办法
- 【微信小程序】解决 竖向<scroll-view>组件 “竖向滚动页面出现遮挡”问题
- 解决微信小程序使用switchTab跳转后页面不刷新的问题
- 微信小程序 —— 解决自定义弹窗出现后,蒙层下的页面仍可以滚动的问题
- 微信小程序wx.navigateTo无法跳转
- 解决微信小程序使用switchTab跳转后页面不刷新的问题
- 在EXE程序中调用DLL文件后出现_CrtIsValidHeapPointer(pUserData)问题的解决方法
- WinPE安装系统时出现安装程序找不到有效系统分区问题解决方法
- 出现“unrecognized selector sent to instance”问题原因之一及解决方法。