路由与通信
通过小程序提供的API方法来实现路由之间的跳转和传参。
- 小程序的跳转方式有两种:
-
- 声明式导航
navigator组件。详细
- 声明式导航
-
- 编程式导航
小程序提供的API。
- 编程式导航
编程式导航API
公共参数
success:接口调用成功的回调函数。fail:接口调用失败的回调函数。complete:接口调用结束的回调函数(调用成功、失败都会执行)。
wx.navigateTo()
- 保留当前页面后转跳,所以有返回上一级,不能跳tabBar。
- 使用url传参,子组件中在onLoad生命周期内options参数接收,switchTab不能传参。
- eventChannel页面间传参。
events参数:页面间通信接口,用于监听被打开页面发送到当前页面的数据。
wx.navigateTo({url: "/pages/list/list?id=2233&name=bilibili"});
Page({
onLoad(options){console.log(options);}; // 打印{id: "2233", name: "bilibili"}
})
wx.redirectTo()
- 销毁当前页面后转跳,所以没有返回上一级,不能跳tabBar。
wx.redirectTo({url: "/pages/list/list"});
wx.switchTab()
- 销毁当前页面后转跳tabBar页面,不能转跳非tabBar页面。
wx.switchTab({url: "/pages/cart/cart"});
wx.reLaunch()
- 销毁所有页面后转跳,所以没有返回上一级。可以跳tabBar。
wx.reLaunch({url: "/pages/cart/cart"});
wx.navigateBack()
- 返回上一页或多级页面,默认一级。
- delta: 返回层级,默认1。
wx.navigateBack(); // wx.navigateBack({delta:1})