关于浏览器返回按钮的监听

项目框架Vue vue-router

由于项目需求,当点击浏览器返回按钮时,要求跳转到指定的页面

最开始打算在vue中调用 window.addEventListener('popstate',myFunc,false);

功能能实现,但是出现的bug很让人难受。

当调用window.removeEventListener("popstate", goBack(), false);发现清除不了这个监听,无论是写在methods的方法,还是单独的js文件中都无法清除掉这个监听。

所以改变思路,根据vue-router中的导航守卫,来判断to,from,比如说有A,B,C三个界面

这里我就随便举个例子,具体要看实际情况而定,反正思路就是这样的

router.beforeEach( (to,from,next) => {

    if(to.name = 'A' && from.name == 'B') {

                   next({name : 'C' , params : {'id':'跳页成功,还可以传递参数'}})

     }

})

问题解决,其实开发任何东西,既然用到的框架,就要仔细的阅读框架文档,每看一遍,收获的越多。

你可能感兴趣的:(关于浏览器返回按钮的监听)