在Taro中怎么监听路由的变化?

原创 野人  2021-11-12 09:01  阅读 199 次

不得不服这个Taro,真心有点坑啊,这么好用的API,竟然官网没写,真的不知道是夸你,还是想骂你了。

我的需求也很简单,就是监听到路由时主页的话,就不显示返回按钮了,如果不是的话,则显示返回按钮,然而就这么简单的功能,我到捣鼓了一个早上,还没研究出来(如果按PC端思路去实现的话,那么是没有问题,但是因为后续可能也要适配小程序这边,所以尽量按照官网说的去使用Taro自己提供的API方法,然而实际上使用真的是一言难尽啊)。

下面的三个API方法,都尝试过了,并没有解决我的问题,现象是多次进去然后返回,返回的数据竟然不是最新的路由数据,这。。。

//用的@tarojs/taro版本3.3.12,用的都是最新的版本

Taro.Current.router.path;
Taro.getCurrentInstance();
Taro.getCurrentPages();

直接说最终解决方法把,真的要感谢群里已经帮忙踩过Taro坑的朋友了,我一提出问题立马就解决了,太强大了(毕竟自己已经花了一个早上去研究和搜索了,没有找到答案)。

eventCenter.on("__taroRouterChange", ({ toLocation: { path } }) => {
  console.log("目标路由path:" + path);
});

重点,知道这个API后,监听该事件__taroRouterChange的名称,在官网中找不到,这就非常离谱了,要是能找到,还可以说我认真看文档,但是这,完全就是懵逼啊!!!

不过,总算解决了,后续还有坑的话,我会一一记录下来,写在博客中。

本文地址:https://www.yerenwz.com/5104.html
版权声明:本文为原创文章,版权归 野人 所有,欢迎分享本文,转载请保留出处!

发表评论

  1. bnm123
    bnm123 【农民】 @回复

    我也遇到这个问题,找了很久,终于找到。感谢你,终于可以开心地用上统计工具了