uniapp监听路由变化

1,544 阅读1分钟

App.vue中 ,在 onLaunch中,利用拦截器监听 navigateTo等, 要在 invoke回调函数中查看

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)
        }
    })
}

参考链接:blog.csdn.net/iOSTianNan/…