微信小程序出现wx.navigateTo页面不跳转问题的解决方法


Posted in Javascript onDecember 26, 2017

本文实例讲述了微信小程序出现wx.navigateTo页面不跳转问题的解决方法。分享给大家供大家参考,具体如下:

今天在做微信小程序的时候,做的商品购买流程。流程是这样的:

商品展示-->商品详情-->下单页面-->下单详情页面-->支付结果页面-->跳转订单详情页面。

但是在支付成功之后,点击按钮跳转,发现怎么也跳转不了到订单详情页面,前后log都能打印出来,证明已经执行了wx.navigateTo方法,但是跳转不成功,而且,坑爹的是也不报错。

翻看微信小程序开发文档,参考链接:

https://mp.weixin.qq.com/debug/wxadoc/dev/api/ui-navigate.html#wxnavigatetoobject

其中有一行提到:

微信小程序出现wx.navigateTo页面不跳转问题的解决方法

就是这一句:“注意:为了不让用户在使用小程序时造成困扰,我们规定页面路径只能是五层,请尽量避免多层级的交互方式。”数一数我的跳转页面,当然你可以可以看微信开发者工作的预览视图右上角,会出现您当前调试的页面有5个这样的提示。

再贴一下我的页面跳转情况:

① 商品展示-->② 商品详情-->③ 下单页面-->④ 下单详情页面-->⑤ 支付结果页面-->⑥ 跳转订单详情页面

就在最后一步的时候已经跳转不过去了,此时前面已经使用wx.navigateTo跳转了五个页面,刚好达到限制。

然后我试着在下单页面跳转到下单详情页面的时候换用:wx.redirectTo()方法跳转,然后再编译执行,发现跳转到订单详情页面成功。然后我把一些不需要返回之后还回到当前页面的跳转换成了wx.redirectTo()来跳转,解决了wx.navigateTo跳转不成功的问题。

wx.redirectTo()方法,是打开新的页面,并关闭当前的页面。这个理解起来可以使用android的启动模式来理解。就像一个水桶,可以说一个栈,这个桶只能装得下5个西瓜,本来水桶是没有西瓜的,然后我们打开一个页面使用wx.navigateTo方法启动的时候,就往水桶里边扔一个西瓜,这样五个满了之后,再打开新的页面,再往水桶里边扔西瓜,那肯定是装不下的了。如果我们使用的是wx.redirectTo(),当我们打开一个新页面时,也会往桶里扔一个西瓜,然后会把当前的这个在桶里的西瓜,吃掉,这样就留出了空间。

所以,在微信小程序页面跳转中,如果当前的页面,在跳转之后是不必要的,没有返回到这个页面的需求的时候,尽量使用wx.redirectTo()来跳转打开新的页面,避免出现上述的问题。

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
jquery mobile changepage的三种传参方法介绍
Sep 13 Javascript
Node.js实现简单聊天服务器
Jun 20 Javascript
仿百度联盟对联广告实现代码
Aug 30 Javascript
jQuery scrollFix滚动定位插件
Apr 01 Javascript
基于insertBefore制作简单的循环插空效果
Sep 21 Javascript
js给table赋值的实例代码
Oct 13 Javascript
利用JS做网页特效_大图轮播(实例讲解)
Aug 09 Javascript
搭建element-ui的Vue前端工程操作实例
Feb 23 Javascript
JavaScript学习笔记之DOM操作实例分析
Jan 08 Javascript
vue 父组件通过v-model接收子组件的值的代码
Oct 27 Javascript
利用JS如何获取form表单数据
Dec 19 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
Sep 18 Javascript
Webpack实战加载SVG的方法
Dec 26 #Javascript
vue学习教程之带你一步步详细解析vue-cli
Dec 26 #Javascript
基于vue-cli配置lib-flexible + rem实现移动端自适应
Dec 26 #Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
Dec 26 #Javascript
细说webpack源码之compile流程-rules参数处理技巧(2)
Dec 26 #Javascript
AngularJS实现的根据数量与单价计算总价功能示例
Dec 26 #Javascript
细说webpack源码之compile流程-rules参数处理技巧(1)
Dec 26 #Javascript
You might like
linux下为php添加curl扩展的方法
2011/07/29 PHP
php 删除一个数组中的某个值.兼容多维数组!
2012/02/18 PHP
php安全之直接用$获取值而不$_GET 字符转义
2012/06/03 PHP
将时间以距今多久的形式表示,PHP,js双版本
2012/09/25 PHP
Php中使用Select 查询语句的实例
2014/02/19 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
使用XHProf查找PHP性能瓶颈的实例
2017/12/13 PHP
使用PHP开发留言板功能
2019/11/19 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
疯掉了,尽然有js写的操作系统
2007/04/23 Javascript
基于jQuery的消息提示插件 DivAlert之旅(二)
2010/04/01 Javascript
JS不能跨域借助jquery获取IP地址的方法
2014/08/20 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
2015/04/27 Javascript
详解JS异步加载的三种方式
2017/03/07 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
2018/04/26 Javascript
JavaScript中concat复制数组方法浅析
2019/01/20 Javascript
TypeScript的安装、使用、自动编译的实现
2020/04/10 Javascript
[02:36]DOTA2英雄基础教程 帕格纳
2014/01/20 DOTA
深入理解Javascript中的this关键字
2015/03/27 Python
Python判断Abundant Number的方法
2015/06/15 Python
Python 文件管理实例详解
2015/11/10 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
2019/05/27 Python
Django接收自定义http header过程详解
2019/08/23 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
Python yield的用法实例分析
2020/03/06 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
英国创新设计文具、卡片和礼品包装网站:Paperchase
2018/07/14 全球购物
如何提高SQL Server的安全性
2016/07/25 面试题
C# Debug和Testing相关面试题
2015/10/25 面试题
材料物理专业个人求职信
2013/12/15 职场文书
银行实习生的自我评价
2014/01/13 职场文书
家长会演讲稿
2014/04/26 职场文书
介绍信样本
2015/01/31 职场文书
2015年银行大堂经理工作总结
2015/04/24 职场文书
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python