uni-app中几个路由页面跳转函数的区别,uni.navigateTo(OBJECT) 无法跳转问题

uni-app中几个路由页面跳转函数的区别,自己做项目时踩过的坑(不好好读官文博文的后果),希望能够帮助到遇到问题的同志。

问题一:uni.navigateTo(OBJECT) 无法跳转问题

出现这种情况,大概率就是没有看官方文档了。

uni.navigateTo这个函数是不支持跳转到tarbar中的页面的,如果你需要跳转到的页面是pages.json中被你设置为tarbar的页面,你就需要用到其他的函数,比如:uni.switchTab(OBJECT)​​

​​​​​uni.switchTab(OBJECT)的作用是跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。这就能解决你无法跳转的问题了。如果还是没有解决那就再用fail回调看看是什么报错然后找文档看看(我没有遇到过这种问题。。)

 

问题二:uni.navigateBack(OBJECT)的返回机制

uni.navigateBack(OBJECT)的返回机制非常的奇妙,也许是uni-app它的本质就是嵌入式页面的原因,uni.navigateBack(OBJECT)的功能就像是网页中的左上角的返回键,它不仅仅会返回到你上一个操作执行的页面,甚至它还会把页面中的所有数据都返回,就像是你从来没有操作过一样(时光倒流)这样的结果有利有弊,但是因为我写的部分是需要动态变化的,这就让我的项目的在测试的时候出现了很致命的问题:用户交互上的致命bug。所以使用uni.navigateBack(OBJECT)函数的时候一定要注意,你所用到的页面是否是多级页面,是否需要动态刷新,如果使用这个函数的时候出现了类似的情况可以uni.redirectTo(OBJECT)这个函数替换之。uni.redirectTo(OBJECT)的作用是关闭当前页面,跳转到应用内的某个页面,这就意味着,当你点击返回键或者屏幕侧滑返回时(需要写函数监听侧滑),应用会关闭你当前的页面再返回,不再出现重复多次的返回到之前操作过的页面当中了。

这些都是自己一些粗浅的总结,欢迎大家指点和补充 :)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值