一.以下代碼是我最近項目中用到的,但是我遇到了個坑 就是如果一個頁面回退監(jiān)視的層次過多 會出現(xiàn)閃的問題(頁面地址一直在閃碩)
methods:{
pushHistory() { // 修改history
let state = {
title: "",
url: "/home/Recharge" // 這個url可以隨便 填木羹,只是為了不讓瀏覽器顯示的url地址發(fā)生變化束凑,對頁面其實無影響,但是最好寫頁面當前的地址炫欺,因為這個地址他會默認替換你當前的地址 再次刷新會找不到頁面
};
window.history.pushState(state,state.title,state.url);
},
mounted(){
// 添加返回事件監(jiān)聽吞滞,注意對window添加監(jiān)聽事件即使當前這個頁面銷毀辱揭,這個事件會一直存在慕淡。也就是這個mounted執(zhí)行過后背伴,以后其他頁面的返回也進入此方法,但因為此方法回調(diào)內(nèi)對象已銷毀峰髓,所以這里不會有問題傻寂。具體介紹請查看我博客。
if (window.history && window.history.pushState){
window.addEventListener("popstate",function(e){
//這里進行跳轉(zhuǎn)操作
}, false);
}
_this.pushHistory()
},
destroyed (){ //清楚下監(jiān)聽事件 不過這段貌似沒有什么用在微信瀏覽器里面
window.removeEventListener('popstate',this.radeRouterback, false);
},