一、首先小程序的跳转方法有一下几种
js控制跳转
// 保留当前页面,跳转到应用内的某个页面 wx.navigateTo({ url: '../blueberry/blueberry' }); // 关闭当前页面,跳转到应用内的某个页面 wx.redirectTo({ url: '../blueberry/blueberry' }); // 跳转到tabBar页面,并关闭其他所有tabBar页面 wx.switchTab({ url: '../blueberry/blueberry' }); // 返回上一页面或多级页面 wx.navigateBack({ url: '../blueberry/blueberry' });
html跳转
<navigator url="../index/index">跳转到新页面</navigator> <navigator url="../index/index" open-type="redirect">在当前页打开</navigator> <navigator url="../index/index" open-type="switchTab">切换到首页Tab</navigator>
带参数跳转
(a):Html带参数,如果需要传多个参数, 用 & 链接即可
<navigator url="../navigator/navigator?title=我是navigate" >跳转到新页面</navigator>
下一个页面接受参数
onLoad: function(options) { this.setData({ title: options.title }) }
如果要传 数组, 字典等复杂类型, 要先用 JSON.stringify() 转成字符串传递.
小程序发现不能跳转的坑
今天就向大家介绍其中一个:你写的路径路由是正确的,但是发现点击了,一点反应也没有,很可能是下下面几种原因:
1:你要跳转的是tabBar中的页面,需要用到专属的跳转方法switchtab
2:在app.js中没有配置该页面
3:页面层级是不是超过五层了。可以用销毁的跳转方式
解决微信小程序使用switchTab跳转后页面不刷新的问题
wx.switchTab({ url: '../main/index', success: function (e) { var page = getCurrentPages().pop(); if (page == undefined || page == null) return; page.onLoad(); } });