在App.vue中
onLaunch中,利用拦截器监听 navigateTo等,
切记要在 invoke回调函数中查看,
要是再 success回调函数中,都路由完成了,还看啥?

onLaunch(){
uni.addInterceptor('navigateTo', { //监听跳转
				invoke(e) {
					console.log('******** invoke-navigateTo ********', e.url)
				},
			})
			//2
			uni.addInterceptor('redirectTo', { //监听关闭本页面跳转
				invoke(e) {
					console.log('******** redirectTo ********', e.url)
				}
			})
			/**
			 * 3
			 * 拦截uni.switchTab本身没有问题。
			 * 但是在微信小程序端点击tabbar的底层逻辑并不是触发uni.switchTab。
			 * 所以误认为拦截无效,此类场景的解决方案是在tabbar页面的页面生命周期onShow中处理。
			 */
			uni.addInterceptor('switchTab', { //监听tabBar跳转
				invoke(e) {
					console.log('******** switchTab ********', e.url)
				}
			})
			//4
			uni.addInterceptor('navigateBack', { //监听返回
				invoke(e) {
					console.log('******** navigateBack ********', e.url)
				}
			})
}

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐