微信小程序中路由与通信

122 阅读1分钟

路由与通信

通过小程序提供的API方法来实现路由之间的跳转和传参。

  • 小程序的跳转方式有两种:
    1. 声明式导航navigator组件详细
    1. 编程式导航小程序提供的API

编程式导航API

公共参数

  1. success:接口调用成功的回调函数。
  2. fail:接口调用失败的回调函数。
  3. 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})