一、首先小程序的跳转方法有一下几种
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();
}
});