更新时间:2023-05-05 15:51:33贡献者收藏订阅更新我的文档设置返回文档页面路由器对象,有 switchtab、 relaunch 、redirectto、 navigateto、 navigateback 五个方法。可以通过 this.pagerouter 或 this.router 获得当前页面或自定义组件的路由器对象。 与同名的全局方法 my.switchtab、my.relaunch、my.redirectto、my.navigateto、my.navigateback 功能相同,唯一区别在于页面路由器中的方法调用时,相对路径是相对于 this 指代的页面或自定义组件。通常情况下,更推荐使用 this.pagerouter 和 this.router 进行路由跳转。 基础库 2.7.22 开始支持,若版本较低,建议做 兼容 处理。页面的 router在页面中调用时,this.pagerouter 和 this.router 获得的是同一个页面路由器对象(即 this.pagerouter === this.router),将相对于 this 指代的页面进行路由跳转。自定义组件的 router在自定义组件中调用时,this.router 将相对于 this 指代的自定义组件自身定义时的路径进行路由跳转。 this.pagerouter 将相对于 this 指代的自定义组件所在页面的路径进行路由跳转。自定义组件的 this.pagerouter 和自定义组件所在页面的 this.pagerouter 获得的是同一个页面路由器对象。路由的相对路径thisthis.routerthis.pagerouter页面相对于 this 指代的页面的路径相对于 this 指代的页面的路径自定义组件相对于 this 指代的自定义组件自身定义时的路径相对于 this 指代的自定义组件所在页面的路径使用说明●由于插件和宿主的权限管控,由插件(插件自定义组件或插件页面)发起的路由跳转,无论是使用页面路由器对象 router 上的路由方法还是全局对象 my 上的路由方法,均不支持跳转到宿主小程序页面或另一个插件页面。●由于插件和宿主的权限管控,当插件自定义组件被用在宿主小程序或另一个插件中时,该插件自定义组件的 this.pagerouter 为 null。●如果在页面 a 通过 redirectto、relaunch、navigateback 方法跳转到页面 b,页面 a 会被销毁,在销毁后的页面 a 调用 this.pagerouter 或 this.router 的路由方法不会生效。示例代码项目目录结构如下所示。 假设当前页面(栈顶页面)路径为 pages2/index/index,分别在页面 page/index/index 和 自定义组件 components/com/com 中调用路由方法 my.navigateto、this.pagerouter.navigateto、this.router.navigateto 进行路由跳转,跳转结果如下: