微信小程序路由跳转,共有三种形式,页面中使用navigator组件做页面链接形式路由跳转,js中可以使用wx.navigateTo--保留当前页面,跳转到应用内的某个页面,wx.redirectTo--关闭当前页面,跳转到应用内的某个页面wx.navigateBack()--关闭当前页面,回退前一页面。
为了不让用户在使用小程序时造成困扰,微信小程序规定页面路径只能是 五层 ,所以需尽量避免多层级的交互方式。 而页面跳转则涉及到多个页面层级。
保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。
需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;
如 'path?key=value&key2=value2'
eg:
wx.navigateTo({
url:'test?id=1'
})
这种跳转方式默认有返回按钮,返回到上一个页面
关闭当前页面,跳转到应用内的某个页面。
需要跳转的应用内非 tabBar 的页面的路径,路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;
如 'path?key=value&key2=value2'
eg:
wx.redirectTo({
url:'test?id=1'
})
这种跳转方式默认有返回按钮,返回到上一个页面的再上一层
需要跳转的应用内页面路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;
如 'path?key=value&key2=value2',如果跳转的页面路径是 tabBar 页面则不能带参数
eg:
wx.reLaunch({
url:'test?id=1'
})
这种跳转方式默认没有返回按钮,不需要默认返回按钮的页面就可以使用这个api了
需要跳转的 tabBar 页面的路径(需在 app.json 的 tabBar 字段定义的页面),路径后不能带参数
{
"tabBar": {
"list": [{
"pagePath":"index",
"text":"首页"
},{
"pagePath":"other",
"text":"其他"
}]
}
}
wx.switchTab({
url:'/index'
})
我们需要调转到tabbar定义的页面的时候,就需要这个api了。踩过这个坑的人就知道,除了这个api,其他的都不能跳转到tabar定义过的页面
关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages()) 获取当前的页面栈,决定需要返回几层。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)