具体步骤如下:
1、挂载完成后,判断浏览器是否支持popstate
-
mounted(){
-
if (window.history && window.history.pushState) {
-
history.pushState(null, null, document.URL);
-
window.addEventListener('popstate', this.goBack, false);
-
}
-
},
2、页面销毁时,取消监听。否则其他vue路由页面也会被监听
-
destroyed(){
-
window.removeEventListener('popstate', this.goBack, false);
-
},
3、将监听操作写在methods里面,removeEventListener取消监听内容必须跟开启监听保持一致,所以函数拿到methods里面写
-
methods:{
-
goBack(){
-
this.$router.replace({path: '/'});
-
//replace替换原路由,作用是避免回退死循环
-
}
-
}
4.localstorage参数保存对象分为当前参数对象和前面对象链表,加入回退,上一个页面替换当前localstorage参数;