公司有个需求,我们的项目每个tab里面的内容都是 iframe,现在需求是点击刷新 F5 等刷新,iframe 还保留在原来的页面。
1.首先在router.js 中监听路由变化,并存储当前页面的路由
router.beforeEach((to, from, next) => {
sessionStorage.setItem('routerName', to.path) //存储当前路由
next()
})
2.在App.vue mounted 下,监听页面刷新,判断是否存有路由,如果存在,跳转到存的这个路由,否则去主页面
mounted () {
window.addEventListener('beforeunload', e => {
sessionStorage.setItem('beforeunload', 1);
});
// 监听页面刷新
if (sessionStorage.getItem('beforeunload') == 1) {
let name = sessionStorage.getItem("routerName");
if (name) {
this.$nextTick(function () {
this.$router.push({ path: name }); //如果sessionStorage存在路由,去缓存的路由
})
}else{
this.$nextTick(function () {
this.$router.push({ path: '/' }); //不存在存储,去主页
}
}
}
},
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)