官网详细介绍:https://uniapp.dcloud.net.cn/api/router.html#navigateto
结合 EventChannel 使用,支持 页面间事件通信通道
- uni.navigateTo() : 保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack()可以返回到原页面。
// A页面跳转并发送事件传递数据: uni.navigateTo({ url: 'pages/test', events: { // 页面间通信接口 // 监听从此方法进入的B页面后,从B页面用uni.navigateBack()方法返回到此页面的事件,获取B页面传送回此页面的数据 事件名: function(data) { console.log(data) } }, success: function(res) { // 接口调用成功的回调函数(还有失败和结束的函数) // 通过eventChannel向被打开B页面传送数据 res.eventChannel.emit("事件名", { data: "data from starter page"}) } }) // B页面(被跳转页面)接收A页面跳转时传过来的事件,接收数据 onLoad: function(option) { // 还可以在onShow()生命周期中获取事件 let this_ = this // 使用vue的data里的数据,需要添加一个this指向变量 const eventChannel = this.getOpenerEventChannel(); // 监听A页面跳转时用 res.eventChannel.emit() 发送的事件,获取事件携带过来的数据 eventChannel.on("事件名", function(data) { console.log(data) }) }
- uni.navigateBack() :关闭当前页面,返回上一页面或多级页面。
结合 EventChannel 使用,支持 页面间事件通信通道
![](https://img2022.cnblogs.com/blog/1968937/202208/1968937-20220822095427399-258787589.png)
- uni.redirectTo() :关闭当前页面,跳转到应用内的某个页面。
- uni.reLaunch() :关闭所有页面,打开到应用内的某个页面。
- uni.switchTab() :跳转到 tabBar 页面(主页),并关闭其他所有非 tabBar 页面。