在我们日常的开发过程中,跳转页面是每个项目中必不可少的需求,包括监听返回按钮,返回指定页面,小程序中的页面跳转等。页面路由页面栈框架以栈的形式维护当前所有页面。当发生路由切换时,页面栈的行为如下:getCurrentPages()函数用于获取当前页面栈的实例,以数组的形式按照栈的顺序给出。第一个元素是主页,最后一个元素是当前页面。注意:不要试图修改页面堆栈,这会导致路由和页面状态错误。路由方式在小程序中,大致有路由和跳转两种方式。一是可以使用API??跳转,二是页面组件。下面我们就来详细的看看每种跳转方式的区别,使用API??跳转//保持当前页面,跳转到应用中的某个页面,使用wx.navigateBack返回原页面。//注意:调用navigateTo跳转时,调用该方法的页面会被加入栈中,但redirectTowx.navigateTo({url:'page/home/home?user_id=1'})//关闭当前页面并返回上一页一页或多级页面。可以通过getCurrentPages()获取当前页面栈,判断需要返回多少层。wx.navigateTo({url:'page/home/home?user_id=1' //页面A})wx.navigateTo({url:'page/detail/detail?product_id=2' //PageB})//跳转到页面Awx.navigateBack({delta:2//返回指定页面})//关闭当前页面,跳转到应用程序中的某个页面。wx.redirectTo({url:'page/home/home?user_id=111'})//跳转到tabBar页面(app.json中注册的tabBar页面),同时关闭其他非tabBar页面。wx.switchTab({url:'page/index/index'})//关闭所有页面,打开到应用中的一个页面。wx.reLanch({url:'page/home/home?user_id=111'})2.页面组件跳转//redirect对应API中的wx.redirect方法
