一.以下代码是我最近项目中用到的,但是我遇到了个坑 就是如果一个页面回退监视的层次过多 会出现闪的问题(页面地址一直在闪硕)
methods:{
pushHistory() { // 修改history
let state = {
title: "",
url: "/home/Recharge" // 这个url可以随便 填,只是为了不让浏览器显示的url地址发生变化,对页面其实无影响,但是最好写页面当前的地址,因为这个地址他会默认替换你当前的地址 再次刷新会找不到页面
};
window.history.pushState(state,state.title,state.url);
},
mounted(){
// 添加返回事件监听,注意对window添加监听事件即使当前这个页面销毁,这个事件会一直存在。也就是这个mounted执行过后,以后其他页面的返回也进入此方法,但因为此方法回调内对象已销毁,所以这里不会有问题。具体介绍请查看我博客。
if (window.history && window.history.pushState){
window.addEventListener("popstate",function(e){
//这里进行跳转操作
}, false);
}
_this.pushHistory()
},
destroyed (){ //清楚下监听事件 不过这段貌似没有什么用在微信浏览器里面
window.removeEventListener('popstate',this.radeRouterback, false);
},
网友评论