微信小程序 页面跳转-路由、页面生命周期
一、小程序-路由
wx.switchTab(Object object)
跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
wx.reLaunch(Object object)
关闭所有页面,打开到应用内的某个页面
wx.redirectTo(Object object)
关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。
wx.navigateTo(Object object)
保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 wx.navigateBack 可以返回到原页面。小程序中页面栈最多十层。
wx.navigateBack(Object object)
关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。
补充: js中使用getCurrentPages()获取当前页面栈
二、小程序-App生命周期
onLaunch(Object object)
小程序初始化完成时触发,全局只触发一次。
(一般用在应用第一次启动时,获取用户信息)
onShow(Object object)
小程序启动,或从后台进入前台显示时触发。
(一般用在对应用的数据或页面效果 进行重置)
onHide()
小程序从前台进入后台时触发。
(一般用在应用隐藏时,暂定或取消定时器等)
onError(err)
小程序应用的错误监听函数,可以收集错误信息等(与开发者工具报出的错误一致)
onPageNotFound()
一般用在,当小程序应用入口页面找不到时,可以通过此函数报出错误,并跳转到第二个首页页面
wx.navigetTo{'url': '...'}
三、小程序-页面生命周期
data
页面的初始数据
onLoad(Object query)
页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数。
(一般在onload中发送一些异步请求,来初始化页面数据)
onShow()
页面显示/切入前台时触发。
onReady()
页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。
注意:对界面内容进行设置的 API 如wx.setNavigationBarTitle,请在onReady之后进行。
onHide()
页面隐藏/切入后台时触发。 如 wx.navigateTo 或底部 tab 切换到其他页面,小程序切入后台等。
onUnload()
页面卸载时触发。如wx.redirectTo或wx.navigateBack到其他页面时。
onPullDownRefresh()
页面顶部,下拉时触发,页面的效果或数据刷新时使用
onReachBottom()
页面触底时继续上拉触发,一般用来加载下一页数据
onPageScroll()
页面滑动时就被触发
onResize()
页面尺寸发生变化时触发,一般可以用在横屏,竖屏切换时
需要在app.json 或 页面.json中添加:“pageOrientation”: "auto",此时开发者工具左边显示的右上角就会多出一个切换横屏竖屏的图标
onTabItemTap()
tabbar页面,点击自己的tabbar时触发

浙公网安备 33010602011771号